1

我从 sklearn OneHotEncoder 文档页面中获取了这个示例:

from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(handle_unknown='ignore')
X = [['Male', 1], ['Female', 3], ['Female', 2]]
enc.fit(X)
enc.categories_

enc.transform([['Female', 1], ['Male', 4]]).toarray()

enc.inverse_transform([[0, 1, 1, 0, 0], [0, 0, 0, 1, 0]])

enc.get_feature_names()

我得到:

ValueError:无法将字符串转换为浮点数:'Male'。

当我用数字替换“男性”和“女性”时: X = [['5', 1], ['4', 3], ['4', 2]]

我得到:

AttributeError:“OneHotEncoder”对象没有属性“categories_”

我的 sklearn 版本是 0.19.1 有人可以重现这个吗?

4

1 回答 1

2

正如 Vivek Kumar 所说,0.19.1 太旧了。升级到版本 0.20.1 解决了这个问题

于 2018-11-26T09:23:40.243 回答