多层感知机MLP实现分类常见问题,及二分类示例

就跟着代码的顺序说问题

先留一些我的数据,可以参考一下数据类型:

all_data.rar - 蓝奏云

第一章 文件读取

%matplotlib inline
import numpy as np
import pandas as pd
import torch
from torch import nn
from d2l import torch as d2l

train_data = pd.read_csv("all_data.csv")
train_data.shape

#(198, 401)

        因为我这个例子数据不多,就198条,所以就不专门设立验证集了,用K折交叉验证的方法来验证。

        数据最后一列为标签,所以数据的特征列为400,共198条数据,先把训练数据和标签分开。

train_features = train_data.iloc[:,0:-1].values   #0:-1  就是取data中的第0列开始倒数第一列结 
                                                  #束,包括0列不包括倒数第一列
train_labels = train_data.iloc[:,400:]   

print(train_features.shape)
print(train_labels.shape)
type(train_features)

#(198, 400)
#(198, 1)
#numpy.ndarray

        可以看到训练数据和标签已经分开了,可以查看变量表看看分的是否是正确的,而且现在的数据格式为np.ndarray,到这里文件的读取就已经结束了。

第二章 数据预处理

        首先需要对数据进行归一化操作,这个归一化的方法有好几种,看自己需求吧,我的这个归一化的方法是:对于每一个特征值x,(x-该列最小值)/(该列最大值-该列最小值)

def maxminnorm(array):
    maxcols=array.max(axis=0)
    mincols=array.min(axis=0)
    data_shape = array.shape
    data_rows = data_shape[0]
    data_cols = data_shape[1]
    t=np.empty((data_rows,data_c
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值