为了更好地理解回归,我正在跟随由Simplilearn赞助的机器学习全过程课程,并且遇到了这个错误:
TypeError:init()从下面的代码中得到了一个意外的关键字参数'categorical_features‘:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
%matplotlib inline
companies = pd.read_csv('Companies_1000.csv')
X = companies.iloc[:, :-1].values
X = companies.iloc[:, :4].values
companies.head()
cmap = sns.cm.rocket_r
sns.heatmap(companies.corr(), cmap = cmap)
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder = LabelEncoder()
X[:, 3] = labelencoder.fit_transform(X[:, 3])
onehotencoder = OneHotEncoder(categorical_features = [3])
X = onehotencoder.fit_transform(X).toarray()
print(X)这是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附近。感谢您的检查,并感谢您的回答。
发布于 2021-01-21 04:45:42
此错误是由于以下行造成的
onehotencoder = OneHotEncoder(categorical_features = [3])没有名为"categorical_features“的参数。取而代之的是“类别”,您可以在其中传递一个类别列表。默认情况下,“类别”设置为“自动”,这意味着它将自动从培训数据中确定类别。
因此,您不需要在OneHotEncoder()函数中传递任何内容,只需将其保持如下。
如下图所示更改行
onehotencoder = OneHotEncoder()https://stackoverflow.com/questions/65820953
复制相似问题