onehotencoding中的ValueError

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了onehotencoding中的ValueError相关的知识,希望对你有一定的参考价值。

我无法对此列进行编码

Sex
male
female
female
female
male
male
male
male
female
female

from sklearn.preprocessing import LabelEncoder,OneHotEncoder
labelencoder=LabelEncoder()
X[:,2]=labelencoder.fit_transform(X[:,2])
ohe=OneHotEncoder(categorical_features=X[2])
ohe.fit_transform(X)

我收到了这个错误。

无法将字符串转换为浮点数:'male'

谁能帮我这个?

答案

演示:

In [6]: df
Out[6]:
      Sex
0    male
1  female
2  female
3  female
4    male
5    male
6    male
7    male
8  female
9  female

In [7]: le = LabelEncoder()

In [8]: df['Sex'] = le.fit_transform(df['Sex'])

In [9]: df
Out[9]:
   Sex
0    1
1    0
2    0
3    0
4    1
5    1
6    1
7    1
8    0
9    0

In [10]: df.dtypes
Out[10]:
Sex    int64
dtype: object

以上是关于onehotencoding中的ValueError的主要内容,如果未能解决你的问题,请参考以下文章

onehotencoding中的ValueError

为啥我在 Sklearn 管道中的 OneHotEncoding 后得到的列比预期的多?

将 OneHotEncoder 用于决策树分类器中的分类特征

sklearn.preprocessing.OneHotEncoder

是否可以为 OneHotEncoder 中的某些列指定 handle_unknown = 'ignore' 并为其他列指定 'error'?

尝试将 LabelEncoder 和 OneHotEncoder 用于具有多列的数据集