踩坑记:sklearn.linear_model.Perceptron出现 __init__() got an unexpected keyword argument 'n_iter'

使用sklearn.linear_model.Perceptron搭建感知机网络训练数据时,初始化过程遇到 __ init __() got an unexpected keyword argument ‘n_iter’ 问题。在实例化Perceptron的时候网上很多教程都是这样写的
在这里插入图片描述
,但我在运行是出现这样的错误:
在这里插入图片描述
网上查了好久发现好像并没有遇到我这个情况的。于是不得已自己去官网查文档。
经过一番研究,发现n_iter这个参数在0.21版本被移除了,网上很多教程都是基于0.17、0.18的,而我的sklearn版本是0.22…
那我要想指定训练epoch怎么办呢???
一个办法是倒回到更老的版本,比如0.17 。
但我在翻sklearn文档时发现这里新加入了一个参数max_iter,看起来和n_iter很像,就猜想会不会是新版本的参数。在这里插入图片描述
GitHub,作者给出了解答。
在这里插入图片描述
所以最终解决办法就是将原来的代码改成下面这样就可以work了。

p = Perceptron(max_iter=50, tol=0, penalty='l2', eta0=0.1, random_state=0)

更多的细节还需要去官方文档细看。

猜你喜欢

转载自blog.csdn.net/weixin_40313940/article/details/105849352