SGDClassifier中TypeError: __init__() got an unexpected keyword argument ‘n_iter‘

在使用SGDClassifier时遇到TypeError,提示'n_iter'参数未预期。官方文档显示,此参数在新版本中已被替换为'n_iter_no_change'。建议更新代码以适应最新版sklearn。
摘要由CSDN通过智能技术生成

TypeError: init() got an unexpected keyword argument ‘n_iter’

scikit-learn官网中介绍:
想要一个适合大规模的线性分类器,又不打算复制一个密集的行优先存储双精度numpy数组作为输入,那么建议使用SGDClassifier类作为替代。

该分类器中的参数n_iter 在新版本中变成了n_iter_no_change

#参数
class sklearn.linear_model.SGDClassifier(loss='hinge', *, penalty='l2', alpha=
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 这个错误是因为在调用一个函数或方法时,传入了一个不被支持的参数。具体来说,这个错误是因为在调用某个函数或方法时,传入了一个名为'iter'的参数,但是该函数或方法并不支持这个参数。 解决这个问题的方法是检查代码的函数或方法调用,找到传入了'iter'参数的地方,并将其删除或替换为正确的参数。如果无法确定正确的参数,可以查看函数或方法的文档或源代码,以了解支持哪些参数。 ### 回答2: 这个TypeError错误发生在Python编程,通常是因为在使用类的构造函数时,向它传递了不该存在的关键字参数。其,出现这种TypeError错误的具体原因,取决于不同的参数类型和位置的使用方式。 例如,在构造一个类实例时,我们使用了一个名为‘iter’的参数,并且在调用类的构造函数时,将其作为关键字参数进行传递。但是,类的构造函数不支持iter参数,所以我们会遇到类似“TypeError: __init__() got an unexpected keyword argument 'iter'”这样的错误提示信息。这是因为,Python会默认将构造函数没有定义的关键字参数命名为类的构造函数的一个参数,在这个参数的列表无法找到对应的参数值,所以会出现错误。 要解决这种TypeError错误,我们需要检查代码,在实例化一个类的对象时,是否正确地使用了构造函数的参数。如果不正确,则需要删除错误的关键字参数或更新参数名称,以匹配类的构造函数的定义。 总之,在编写Python代码的过程,要注意避免这种常见的TypeError错误,不要在类的构造函数使用未定义的关键字参数,不仅能避免这种错误,也能增加代码的可读性和可维护性。 ### 回答3: 在PythonTypeError通常表示函数或方法不能接受传递的参数或其类型不正确。当我们尝试调用类或方法时,如果传递的参数与该方法或类的定义不符,则会发生TypeError错误。 在这种情况下,错误消息“TypeError:__init __()获得了意外的关键字参数'iter'”发生在我们尝试实例化一个包含__init__方法的类,但是该类的__init__方法预期没有一个关键字参数'iter',但在创建类实例时仍然传递了这个参数。例如,下面的代码段说明了此错误的发生: class MyClass: def __init__(self, name): self.name = name myObj = MyClass(name="Test", iter=True) 在上面的代码,我们创建了一个MyClass类,该类在__init__方法定义了一个参数“ name”。 在创建myObj实例时,我们还传递了一个关键字参数“ iter”,但是这在定义不允许,因此会触发TypeError错误。该代码应按如下更改才能避免此错误: class MyClass: def __init__(self, name, iter): self.name = name self.iter = iter myObj = MyClass(name="Test", iter=True) 在上面的更改,我们在__init__方法添加了新参数'iter',这允许我们在创建类实例时传递给它。 现在我们可以成功实例化MyClass对象,不会出现TypeError错误。 总之,TypeError错误通常是由于传递给方法或类的参数与其定义不符而引起的。要修复这个错误,我们需要确保我们的代码传递正确的参数,并始终遵循类定义的规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sharon@zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值