【问题标题】:sklearn python3 categorical_features unrecognized errorsklearn python3 categorical_features 无法识别的错误
【发布时间】:2021-04-25 11:47:48
【问题描述】:

我目前正在学习 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 左右。感谢您查看此内容,并感谢您的回答。

【问题讨论】:

    标签: python pandas machine-learning scikit-learn jupyter-notebook


    【解决方案1】:

    错误是由以下行引起的

    onehotencoder = OneHotEncoder(categorical_features = [3])
    

    没有名为“categorical_features”的参数。取而代之的是“类别”,您可以在其中传递类别列表。默认情况下,“类别”设置为“自动”,这意味着它将自动根据训练数据确定类别。

    所以你不需要在 OneHotEncoder() 函数中传递任何东西,就这样吧。

    如下更改行

    onehotencoder = OneHotEncoder()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-17
      • 1970-01-01
      • 2017-06-24
      • 1970-01-01
      • 2015-04-29
      相关资源
      最近更新 更多