线性回归的概念和应用

在前一篇文章中解释了线性回归以及如何梯度下降的方法优化参数,内容参考了吴恩达老师的《机器学习》和书籍《机器学习实战》

这一篇再次回顾线性回归的概念已经它的应用场景,重点展示一个应用的例子。
目录如下:

  • 线性回归的概念
  • 线性回归的优缺点
  • 线性回归的应用及例子

    线性回归的概念

回归可以用来做预测和分类,当目标值是连续的时,我们称为回归;当目标值是离散的时,我们称为分类。线性回归其实就是函数拟合。假设我们有了训练集包含 x1,x2,y ,线性回归就是要找到一个函数使下列的式子成立,其中自变量在函数中的最高次项为1, θ 为自变量参数:

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyTorch是一个流行的深度学习框架,其中包含了一系列用于构建神经网络的工具和函数。线性回归机器学习中最简单的算法之一,用于预测一个连续的目标变量。 在PyTorch中,我们可以使用torch.nn模块来构建一个简单的线性回归模型。下面是一个应用线性回归的案例: 假设我们有一个数据集包含了房子的面积和价格。我们想使用线性回归模型来预测给定房子面积时的价格。首先,我们需要导入PyTorch库和相关的模块。 ``` import torch import torch.nn as nn import matplotlib.pyplot as plt import numpy as np ``` 接下来,我们需要定义数据集。假设我们有100个房子的数据,每个数据包含房子的面积和价格。 ``` # 定义输入数据 x = np.random.rand(100, 1) # 生成对应的标签 y = 3 + 4 * x + np.random.randn(100, 1) ``` 然后,我们将数据转换为PyTorch的张量格式。 ``` x = torch.from_numpy(x).float() y = torch.from_numpy(y).float() ``` 接下来,我们需要定义一个线性回归模型。 ``` # 定义线性回归模型 model = nn.Linear(1, 1) ``` 然后,我们需要定义损失函数和优化器。 ``` # 定义损失函数和优化器 criterion = nn.MSELoss() optimizer = torch.optim.SGD(model.parameters(), lr=0.01) ``` 接下来,我们需要训练模型。 ``` # 训练模型 num_epochs = 1000 for epoch in range(num_epochs): # 前向传播 outputs = model(x) loss = criterion(outputs, y) # 反向传播并优化 optimizer.zero_grad() loss.backward() optimizer.step() # 打印训练信息 if (epoch+1) % 100 == 0: print('Epoch [{}/{}], Loss: {:.4f}'.format(epoch+1, num_epochs, loss.item())) ``` 最后,我们可以使用训练好的模型对新的数据进行预测。 ``` # 使用训练好的模型进行预测 predicted = model(x).detach().numpy() # 绘制真实值和预测值的散点图 plt.scatter(x.numpy(), y.numpy(), color='blue') plt.plot(x.numpy(), predicted, color='red') plt.show() ``` 通过以上步骤,我们成功地使用PyTorch实现了线性回归模型,并且通过散点图展示了预测结果和真实值的对比。线性回归模型可以用于各种预测问题,如房价预测、销售量预测等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值