【1】读入数据集、绘制散点图及模型创建

数据、代码等相关资料来源于b站日月光华老师视频,此博客作为学习记录。

一、读入数据集

导入包和读取数据集

import torch
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

data = pd.read_csv(r'E:\Code\pytorch\第2章\Income1.csv')  #读入文件

print(data.head())

最后print打印出读入的数据集:
在这里插入图片描述
查看数据集整体情况:

data.info

二、绘图

plt.scatter(data.Education, data.Income)    # scatter绘制散点图,逗号前是x轴,后为y轴
plt.xlabel('Education')                     # x轴名
plt.ylabel('Income')                        # y轴名
plt.show()

如图:
在这里插入图片描述
数据转换:

X = torch.from_numpy(data.Education.values.reshape(-1, 1)).type(torch.FloatTensor)
# data.Education就是取数据集中Education那一列的数据,.values是将所有的数据存放在了一个数组中
# 进行reshape转化成30个维度为1的数据,其中-1代表的是自动计算,1代表reshape之后的维度
# torch.from_numpy就是把数据转换成torch中的tensor
# .type(torch.FloatTensor)转换数据类型为FloatTensor形式
Y = torch.from_numpy(data.Income.values.reshape(-1, 1)).type(torch.FloatTensor)
# X为输入的特征,Y为target
print(X.shape)

通过X.shape可查看数据格式:
在这里插入图片描述

三、模型创建

单变量线性回归
提前导入nn模块:

from torch import nn

有三个关键点:
①、必须继承自nn.module
②、定义初始化模块
③、定义前向传播,返回给一个值
代码如下:

# pytorch模型创建必须继承自nn.module
class EIModel(nn.Module):     # nn.Module的M是大写
    def __init__(self):      # ①定义初始化方法,包括层、属性、变量等
        super(EIModel,self).__init__()
        self.linear = nn.Linear(in_features=1, out_features=1)   # 初始化一个linear层
    def forward(self, input):    # ②定义前向传播
        logits = self.linear(input) # input在linear层上去调用
        return logits      # 调用结果返回给logits

model = EIModel()      #实例化

初始化的linear层:括号内是(输入的维度大小,输出的维度大小)
在这里插入图片描述
打印出来看看modle:
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

要努力的小菜鸟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值