首页 > 其他分享 >pytorch实现线性回归

pytorch实现线性回归

时间:2024-05-31 15:44:03浏览次数:19  
标签:loss numpy 回归 torch pytorch 线性 import model data

转自:https://www.cnblogs.com/miraclepbc/p/14329186.html

导入相关python包

import torch
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from torch import nn
%matplotlib inline

加载数据

data = pd.read_csv('E:/datasets/dataset/Income1.csv')
X = torch.from_numpy(data.Education.values.reshape(-1, 1).astype(np.float32)) #DataFrame转tensor的常用方法
Y = torch.from_numpy(data.Income.values.reshape(-1, 1).astype(np.float32))

定义模型

model = nn.Linear(in_features = 1, out_features = 1) # w * input + b 等价于 model(input)
loss_func = nn.MSELoss() # 损失函数
optimizer = torch.optim.SGD(params = model.parameters(), lr = 0.0001)

训练模型

for epoch in range(5000):
    for x, y in zip(X, Y):
        y_pred = model(x)             # 使用模型预测
        loss   = loss_func(y, y_pred) # 根据预测结果计算损失
        optimizer.zero_grad()         # 把变量梯度清 0
        loss.backward()               # 求解梯度
        optimizer.step()              # 优化模型参数

查看训练结果

model.weight, model.bias

plt.scatter(data.Education, data.Income)
plt.plot(X.numpy(), model(X).data.numpy(), c = 'r')
#model(X).data是将tensor取出,否则会带着grad和grad_fn

 

标签:loss,numpy,回归,torch,pytorch,线性,import,model,data
From: https://www.cnblogs.com/gongzb/p/18224688

相关文章

  • tf.keras实现线性回归和多层感知器
    线性回归实现转自:https://www.cnblogs.com/miraclepbc/p/14287756.html相关库引用importtensorflowastfimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotasplt%matplotlibinline加载数据data=pd.read_csv("E:/datasets/dataset/Income1.csv")#......
  • MATLAB求解混合整数线性规划问题(MILP)
    文章目录前言一、混合整数线性规划模型(MILP)的概念二、matlab求解方法1.求解说明2.求解代码总结前言本文主要介绍混合整数线性规划模型(MILP)的概念及利用matlab进行求解。一、混合整数线性规划模型(MILP)的概念线性规划模型(LinearProgramming,LP):LP的定义比较简单......
  • 使用Java实现线性回归算法
    线性回归算法原理线性回归的基本思想是通过一条直线来拟合数据点,使得数据点到这条直线的距离平方和最小。其数学表达式为:y=β......
  • 安装并运行pytorch报错“核心已转储”
    1问题和解决概要主机环境:Ubuntu20.04,RTX3090,GPUDriverVersion525.89.02问题:用anaconda创建虚拟环境python3.10,安装pytorch2.2.2-cu118和对应torchvision后,训练模型出现报错:“核心已转储”。定位和解决:查阅资料,确认driver支持cuda-11.8,主机安装cuda-11.8后编译一个sample......
  • 数据分享|python分类预测职员离职:逻辑回归、梯度提升、随机森林、XGB、CatBoost、LGB
    全文链接:https://tecdat.cn/?p=34434原文出处:拓端数据部落公众号分析师:ShilinChen离职率是企业保留人才能力的体现。分析预测职员是否有离职趋向有利于企业的人才管理,提升组织职员的心理健康,从而更有利于企业未来的发展。解决方案任务/目标采用分类这一方法构建6种模型对职......
  • 用Pytorch搭建一个简单的CNN(MNIST数据集—十分类问题)
    文章目录前言一、MNIST数据集二、使用步骤1.基本库的导入和随机种子的设定2.MINIST数据集的下载、保存与加载可视化某一批图像数据3.用pytorch搭建CNNCNN的主体部分:由卷积模块和全连接组成。4.训练CNN并保存损失最小的模型网络参数的定义:每一轮训练的主体部分:4.测试训练......
  • PyTorch学习(8):PyTorch中Tensor的合并于拆分(torch.cat, torch.stack, torch.trunk, tor
    1.写在前面       在使用PyTorch执行深度学习开发时,经常会用到对Tensor的合并于拆分操作。如我们在使用CSP时,有时候会需要将Tensor拆分成两部分,其中一部分进行进行CrossStage操作,另一部分执行多重卷积操作,这个时候我们就会用到四个典型的接口,分别是torch.cat,torch......
  • 线性规划-内点法初探
    参考:最优化理论与算法(第2版)(陈宝林)书中首先介绍了将一般线性规划问题转化为Karmarkar标准问题求解,为简化计算,Karmarkar等人又给出了内点法以求解线性规划问题,此部分在书中为*号引申内容,介绍较为简略,此处也是对书中内容做简要的补充。考虑如下线性规划问题......
  • 【数据结构实验】迷宫问题——线性表
    目录实验目的实验内容(题目) 实验环境 程序代码实验分析 实验目的掌握并理解线性表的存储结构定义,包括线性表的顺序存储结构与链式存储结构。学习并掌握线性表的基本操作实现,如插入、删除、查找、遍历等基本运算。明确线性表的存储结构特点,包括它们的时间和空间复杂......
  • 【KELM回归预测】基于麻雀算法优化核极限学习SSA-KELM-Adaboost实现风电回归预测附mat
    以下是使用麻雀算法优化核极限学习机(SSA-KELM)和Adaboost算法实现风电回归预测的MATLAB代码示例:matlab复制%导入风电数据load(‘wind_data.mat’);%假设数据存储在wind_data.mat文件中X=wind_data(:,1:end-1);%输入特征Y=wind_data(:,end);%输出标签%数......