Pytorch实现线性回归模型

本文介绍了如何在PyTorch中实现线性回归模型,包括手动构建模型、损失函数、数据加载和优化方法,如梯度下降。通过实例演示了从数据生成、模型训练到结果可视化的过程,展示了如何使用PyTorch的高级API进行自动化的模型训练。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9a3ad9cb79654198ab4c9f862270ed93.gif

在机器学习和深度学习的世界中,线性回归模型是一种基础且广泛使用的算法,简单易于理解,但功能强大,可以作为更复杂模型的基础。使用PyTorch实现线性回归模型不仅可以帮助初学者理解模型的基本概念,还可以为进一步探索更复杂的模型打下坚实的基础。⚔️

💡在接下来的教程中,我们将详细讨论如何使用PyTorch来实现线性回归模型,包括代码实现、参数调整以及模型优化等方面的内容~

💡我们接下来使用Pytorch的API来手动构建一个线性回归的假设函数损失函数及优化方法,熟悉一下训练模型的流程。熟悉流程之后我们再学习如何使用PyTorch的API来自动训练模型~

import torch
from sklearn.datasets import make_regression
import matplotlib.pyplot as plt
import random
def creat_data():
    x, y, coef = make_regression(n_samples=100, n_features=1, noise=10, coef=True, bias=14.5, random_state=0)
    # 所有的特征值X都是0,目标变量y的平均值也会是14.5(加上或减去由于noise参数引入的噪声)
    # coef:权重系数,表示线性回归模型中每个特征的权重,y_pred = x * coef + bias
    x = torch.tensor(x)
    y = torch.tensor(y)
    return x, y ,coef  # x , y 不是按顺序的, 而是随机顺序的

def data_loader(x, y, batch_size):
    data_len = len(y)
    data_index = list(range(data_len))
    random.shuffle(data_index)
    batch_number = data_len // batch_size

    for idx in range(batch_number):
        start = idx * batch_size
        end = start + batch_size
        batch_train_x = x[start: end]
        batch_train_y = y[start: end]
        yield batch_train_x, batch_train_y  # 相当于reutrn, 返回一个值,但是不会结束函数

🧨这一部分creat_data是来生成线性回归的数据,coef=True(截距)表示所有的特征值X都是0时,目标变量y的平均值也会是14.5(加上或减去由于noise参数引入的噪声)

# 假设函数
w = torch.tensor(0.1, requires_grad=True, dtype=torch.float64)
b = torch.tensor(0.0, 
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小森( ﹡ˆoˆ﹡ )

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值