Pytorch实现线性分类

目录

1.导包

2.加载数据

3.获取X与Y数据 

 4.将X,Y数据转化成tensor张量, tensor张量必须是二维数据

5.用封装的API实现线性分类 

5.1导包

 5.2建模-神经网络(二分类问题)

5.3定义损失函数 

 5.4定义优化器

 5.5定义训练过程

5.6 计算正确率


1.导包

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

2.加载数据

data = pd.read_csv('./dataset/credit-a.csv', header = None)


data.head()  #查看读取数据的前5条

data.shape
(653, 16)

3.获取X与Y数据 

#前15列式特征,最后一列是标记(二分类的目标结果)
X = data.iloc[:, :-1]  #dataframe的切片索引数据:所有的行数据都要,最后一列数据不要
Y = data.iloc[:, -1]  #行都要,列数据只要最后一列
X.shape
(653, 15)
Y.shape
(653,)
# 在机器学习与深度学习中,series数据结构是不能做为分类标记,  series数据结构不属于一维数据结构,也不是二维数据结构
Y  #Y原数据是series

 

X

X.values  #是二维数组
array([[0.000e+00, 3.083e+01, 0.000e+00, ..., 0.000e+00, 2.020e+02,
        0.000e+00],
       [1.000e+00, 5.867e+01, 4.460e+00, ..., 0.000e+00, 4.300e+01,
        5.600e+02],
       [1.000e+00, 2.450e+01, 5.000e-01, ..., 0.000e+00, 2.800e+02,
        8.240e+02],
       ...,
       [1.000e+00, 2.525e+01, 1.350e+01, ..., 0.000e+00, 2.000e+02,
        1.000e+00