数据预处理
在神经网络模型中之前,要对数据进行一系列的预处理,如果是类型变量,可使用one-hot编码;对于数值类型,可进行标准化,让其属性值在0左右波动
import torch
import numpy as np
import pandas as pd
from torch.autograd import Variable
#输入特征,最后一列为分类
feature = [[200,6975,1],
[800,56797,0],
[400,45875,1],
[200,59245,0],
[300,469372,1],
[500,32467,1],
[700,183481,1]
]
feature = pd.DataFrame(feature)
#标准化
for each in feature.columns[:-1]:
mean, std = feature[each].mean(), feature[each].std()
feature.loc[:, each] = (feature[each] - mean)/std
手动编写一个神经网络
#手动编写
input_size = 2
hidden_size = 28
outpu_size = 1
batch_size = 4
w1 = Variable(torch.randn([input_size,hidden_size]),requires_grad = True)
b1 = Variable(torch.randn(hidden_size),requires_grad = True)
w2 = Variable(torch.randn