简单地 sklearn 用神经网络模型分类鸾尾花数据集

59 篇文章 0 订阅
17 篇文章 0 订阅

Iris数据集使用方法:

https://blog.csdn.net/qq_17336559/article/details/81480629

Sklearn神经网络使用方法以及参数说明:

https://www.jianshu.com/p/71fde5d90136

import numpy as np
from sklearn import datasets
from sklearn.neural_network import MLPClassifier
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt


iris = datasets.load_iris()

train_data, test_data, train_label, test_label = train_test_split(iris.data, iris.target, test_size=0.2, random_state=0) #训练集占百分之八十,测试集占百分之二十

mlp = MLPClassifier(hidden_layer_sizes=(20,3))
mlp.fit(train_data,train_label)

pre = mlp.predict(test_data)
print("Training set score: %f" % mlp.score(train_data, train_label))
print("Test set score: %f" % mlp.score(test_data, test_label))
print("真实:")
print(test_label)
print("预测:")
print(pre)

输出:

再试了一下结果为:

 

发现变化很大,这是因为随机权值导致的,改为:

mlp = MLPClassifier(hidden_layer_sizes=(20,3),random_state=1)

加上一个固定的随机值,这样就能保证每次一样了,可以调整random_state,找到最优的。

将层数和每层的神经元数增多:

mlp = MLPClassifier(hidden_layer_sizes=(20,20,20),random_state=1)

准确度基本到1了。

 

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值