sklearn 手写体识别

本文探讨了使用sklearn进行手写体识别时,train_test_split参数stratify的重要性和影响,神经元个数、迭代次数及学习率对模型性能的效应。通过实验发现,stratify能保持数据平衡,神经元数量增加可提高评分但增加计算量,迭代次数需足够确保模型收敛,而学习率选择需兼顾收敛速度和准确性。
摘要由CSDN通过智能技术生成

sklearn 手写体识别

采取sklearn自带的手写体数据集

train_test_split 数据划分时参数设置

stratify 保证了训练集与测试集的数据的类型(或者可以说是数据的成分)一致,也是按比例划分的。

这点非常关键,就像你训练时全部都是数学题,上考场考的是语文题,这不是白训练么。

这个参数对于我模型的提升非常大,最大为0.2,可以跑到0.99


from sklearn.neural_network import MLPClassifier
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split

iris = load_digits()
x = iris['data']
y = iris['target']
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2,stratify=y)

clf = MLPClassifier()
clf.fit(x_train, y_train)
result = clf.score(x_test, y_test)
print("使用默认参数时")
print("模型评分:%10f"%result)
使用默认参数时
模型评分:  0.955556

神经元个数影响分析

调整神经元个数,看看对于模型有何影响。 因为数据的长度是64,所以我对神经元个数的调整是以64为基数做缩放的


clf = MLPClassifier(hidden_layer_size

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值