1、数据和问题描述
本文采用 Pytorch 实现全连接神经网络,对鸢尾花数据进行分类。首先加载数据集,代码如下:
import numpy as np
import torch
import torch.utils.data as Data
from torch.nn import functional as F
from sklearn import datasets
# 读取数据
x_data = datasets.load_iris().data
y_data = datasets.load_iris().target
数据集的特征包含4列,如下图所示:
标签列的取值为(0,1,2)三种,是一个多分类问题。
2、数据预处理
将数据集打乱顺序,划分为训练集和测试集,同时转换为 tensor 格式,代码如下:
# 随机打乱数据集
np.random.seed(116) # 使用相同的seed,使输入特征/标签一一对应
np.random.shuffle(x_data)
np.random.seed(116)
np.random.shuffle(y_data)
x_train = torch.tensor(x_data[:-30], dtype=torch.float)
y_train = torch.tensor(y_data[:-30], dtype=torch.int64)
x_test = torch.tensor(x_data[