【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打印出读入的数据集:
【1】读入数据集、绘制散点图及模型创建_第1张图片
查看数据集整体情况:

data.info

二、绘图

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

如图:
【1】读入数据集、绘制散点图及模型创建_第2张图片
数据转换:

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层:括号内是(输入的维度大小,输出的维度大小)
【1】读入数据集、绘制散点图及模型创建_第3张图片
打印出来看看modle:
在这里插入图片描述

你可能感兴趣的:(pytorch深度学习实例基础,python,numpy,机器学习)