[深度学习] (sklearn)多层感知机对葡萄酒的分类

时间:2021年12月2日

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import accuracy_score
from sklearn.preprocessing import StandardScaler

import pandas as pd

# 导入数据
wine = load_wine()
# 划分训练集与测试集
x_train, x_test, y_train, y_test = train_test_split(wine.data, wine.target, test_size=0.3, stratify=wine.target)
# 显示数据
frame = pd.DataFrame(x_train)
frame.columns = wine.feature_names
print(frame.head())

# 多层感知机,设置隐含层为1层100
model = MLPClassifier(hidden_layer_sizes=(100,))
model.fit(x_train, y_train)
predict_y = model.predict(x_test)
# 测试精度
score = accuracy_score(y_test, predict_y)
print(f"第一次测试的精度为:{score}")

# 使用标准预处理模块预处理数据,将原始数据归一化
scaler = StandardScaler()
fit = scaler.fit(x_train)
x_train = scaler.transform(x_train)
x_test = scaler.transform(x_test)
# 再次训练并预测
model.fit(x_train, y_train)
predict_y = model.predict(x_test)
score = accuracy_score(y_test, predict_y)
print(f"第二次测试的精度为:{score}")

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sklearn中的多层感知器(Multilayer Perceptron,MLP)是一种基于神经网络的分类器模型。它可以用于解决多类别分类问题。在sklearn库中,多层感知器被实现为`sklearn.neural_network.MLPClassifier`类。 MLP模型由多个神经元组成的输入层、隐藏层和输出层构成。每个神经元都与前一层的所有神经元相连接,并且带有权重。这些权重通过训练过程来学习,以使模型能够准确地预测输入数据的类别。 要使用sklearn的多层感知器,首先需要创建一个MLPClassifier对象,并设置相关参数,例如隐藏层的数量、每个隐藏层中神经元的数量和激活函数等。然后,可以使用`fit`方法将训练数据和相应的标签传递给模型进行训练。最后,可以使用`predict`方法对新的未知数据进行分类预测。 下面是一个使用sklearn的多层感知器进行分类的示例代码: ```python from sklearn.neural_network import MLPClassifier from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # 加载数据集 data = load_iris() X, y = data.data, data.target # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建多层感知器模型 model = MLPClassifier(hidden_layer_sizes=(100,), activation='relu', solver='adam', random_state=42) # 训练模型 model.fit(X_train, y_train) # 预测测试集 y_pred = model.predict(X_test) # 计算准确率 accuracy = accuracy_score(y_test, y_pred) print("Accuracy:", accuracy) ``` 以上示例代码中,我们使用鸢尾花数据集(load_iris)进行训练和测试,创建了一个具有一个包含100个神经元的隐藏层的多层感知器模型。然后,使用训练数据对模型进行训练,并使用测试数据进行预测,最后计算出了模型的准确率。 希望这能帮到你!如有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值