首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

基于pytorch的线性回归模型,python

后端 5.31KB 15 需要积分: 1
立即下载

资源介绍:

基于pytorch的线性回归模型的训练和测试,含csv文件数据的读取与数据集构建,训练后特征值系数的输出(以3个特征值为例),训练迭代的loss曲线显示,测试集预测结果与实际值对比可视化
import torch from torch import nn from torch.utils.data import TensorDataset, DataLoader import pandas as pd import numpy as np import matplotlib.pyplot as plt #读取含有样本数据的CSV文件 df = pd.read_csv('example.csv') new_index = np.random.permutation(df.index) # 打乱数据集 df = df.reindex(new_index).reset_index(drop=True) # 设置训练集比例 train_dataset_rate=0.8 num_train = int(len(df)*train_dataset_rate) #数据集最后一列是因变量 X_train = df.iloc[:num_train, :-1] # 训练集特征 y_train = df.iloc[:num_train, -1] # 训练集标注结果 X_test = df.iloc[num_train:, :-1] # 测试集特征 y_test = df.iloc[num_train:, -1] # 测试集标注结果 X_train_tensor = torch.tensor(X_train.values, dtype=torch.float32) y_train_tensor = torch.tensor(y_train.values, dtype=torch.float32) y_train_tensor = y_train_tensor.reshape((-1,1)) X_test_tensor = torch.tensor(X_test.values, dtype=torch.float32) y_test_tensor = torch.tensor(y_test.values, dtype=torch.float32) y_test_tensor = y_test_tensor.reshape((-1,1)) # 使用TensorDataset,DataLoader创建训练集 dataset_train = TensorDataset(X_train_tensor, y_train_tensor) loader_train = DataLoader(dataset_train, batch_size=4, shuffle=True) # 迭代次数 epochs=200 # 构建线性回归网络 net = nn.Sequential(nn.Linear(X_train_tensor.shape[1],1)) # 损失函数 loss = nn.MSELoss() #优化器 optimizer = torch.optim.SGD(net.parameters(),lr=0.3) # 初始化一个列表来存储每次迭代的loss值 loss_list = [] # 训练 for epoch in range(epochs): for _,(X,y) in enumerate(loader_train): optimizer.zero_grad() l = loss(net(X),y) l.backward() optimizer.step() loss_list.append(loss(net(X_train_tensor),y_train_tensor).data) print(f'第{epoch+1}次的loss值为{loss(net(X_train_tensor),y_train_tensor).data}') print("训练完成") print("每个特征值的系数分别为") print(net[0].weight.data[0].numpy()) print("偏置b为") print(net[0].bias.data[0].numpy()) # loss曲线 plt.plot(loss_list) plt.title('Loss Over Epochs') plt.xlabel('Epoch') plt.ylabel('Loss') plt.grid(True) plt.show() # 对测试集的预测结果 y_pred=net(X_test_tensor) x = np.arange(len(y_pred)) plt.plot(x,y_test_tensor.numpy(),label='Actual Values') plt.scatter(x,y_pred.data.numpy(),c='red',label='Predicted Values') plt.legend() plt.title('Comparison of Actual and Predicted Values') plt.xlabel('Index') plt.ylabel('Value') plt.grid(True) plt.show()

资源文件列表:

linear_regression.zip 大约有11个文件
  1. linear_regression/.idea/
  2. linear_regression/.idea/.gitignore 50B
  3. linear_regression/.idea/.name 20B
  4. linear_regression/.idea/inspectionProfiles/
  5. linear_regression/.idea/inspectionProfiles/profiles_settings.xml 174B
  6. linear_regression/.idea/linear_regression.iml 322B
  7. linear_regression/.idea/misc.xml 281B
  8. linear_regression/.idea/modules.xml 293B
  9. linear_regression/.idea/workspace.xml 2.22KB
  10. linear_regression/example.csv 2.93KB
  11. linear_regression/linear_regression.py 2.49KB
0评论
提交 加载更多评论
其他资源 SR-MPLS TE 无RR的带配置topo
SR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带配置topoSR-MPLS TE 无RR的带
1_达州南站概算2024.04.16新(1).zip
1_达州南站概算2024.04.16新(1).zip
8e10fe15e1f51b866b214843ad7f43ad.zip
8e10fe15e1f51b866b214843ad7f43ad.zip
wordpress插件-自定义文章标题颜色3.0.zip
wordpress插件-自定义文章标题颜色3 文章编辑时,右边会出现一个标题颜色设置,可以设置为任何颜色 更新记录:从输入颜色css代码,改为颜色选择器,更方便!
Android开发实战经典-041301-配置Google.API.SDK视频教程.zip
Android开发实战经典_041301_配置Google.API.SDK视频教程.zip
Android开发实战经典-030802-文件存储-B-资源文件视频教程.zip
Android开发实战经典_030802_文件存储_B_资源文件视频教程.zip
Q-Learning在路径规划中的应用(MATLAB版)
针对于已知环境中的路径规划问题,本文提出Q-Learning解决智能体在复杂环境中找到最优路径。最终阶段包括查询 Q 表以选择最佳行动路径。训练完成后,呈现了历时、最小步数、最大奖励值等结果,以及 Q 表的可视化、最短路径和整个训练过程。Q-learning 是强化学习中的一种基于值函数的学习方法,用于解决无模型的马尔可夫决策过程(MDP)问题。在 Q-learning 中,代理尝试学习一个价值函数 Q(s, a),它估计在状态 s 采取动作 a 后所能获得的长期回报的价值。状态 s、动作a、奖励信号r、Q 值函数 (Q-table)、折扣因子 γ、学习率 α、探索-利用策略。图1 Q-Learning结构图状态s:在 Q-learning 中,代理与环境进行交互,环境处于不同的状态。状态是描述环境的特定情况或配置的抽象表示。
河南师范大学软件学院C语言题面_筛选后.zip
河南师范大学软件学院C语言题面_筛选后.zip