我目前正在按照Simplilearn赞助的机器学习全程课程学习,以更好地理解回归分析,但遇到了以下错误:
TypeError: init() 接收到一个意外的关键字参数 ‘categorical_features’,错误出自以下代码:
这是csv文件的链接: https://raw.githubusercontent.com/boosuro/profit_estimation_of_companies/master/1000_Companies.csv
视频中没有遇到同样的错误,我认为可能是视频内容已经过时了。然而,在查阅了sklearn的文档后,我没有找到解决方案。我使用的是Python 3。如果你想查看视频中使用的信息和代码,这里是链接:
https://www.youtube.com/watch?v=9f-GarcDY58
我的错误出现在视频的47:25左右。谢谢你查看这个问题,也谢谢你的回答。
回答:
错误的原因是以下这行代码:
onehotencoder = OneHotEncoder(categorical_features = [3])
这里没有名为”categorical_features”的参数。相反,有一个名为”categories”的参数,你可以传递一个类别列表。默认情况下,”categories”设置为”auto”,这意味着它会自动从训练数据中确定类别。
因此,你不需要在OneHotEncoder()函数中传递任何参数,只需这样留空即可。
将该行更改为如下所示:
onehotencoder = OneHotEncoder()