首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sklearn::TypeError:参数`n_values`类型错误。预期的'auto‘、int或int数组得到<type 'numpy.ndarray'>

sklearn::TypeError:参数`n_values`类型错误。预期的'auto‘、int或int数组得到<type 'numpy.ndarray'>
EN

Stack Overflow用户
提问于 2017-06-27 09:30:31
回答 1查看 1.6K关注 0票数 0

在初始化OneHotEncoder时,我传入一个硬编码的列表/元组(尝试了这两种方法),并且在fit_transform期间得到了这个错误,没有在任何地方使用numpy类型(除了数据矩阵本身)。

唯一的一点是,该数组中的一些值是None,因为我还使用categorical_features来指定掩码(就像在某些特性中是实值的,我希望它们保持实值。

我的n_values看起来像[1, 2, 3, None, 5]或者(1, 2, 3, None, 5)

我的categorical_features看起来像[0, 1, 2, 4],尽管我也尝试过:

[True, True, True, False, True]

文档中没有任何带有掩码的实际示例。

编辑:

因此,我尝试用零替换None,这个问题消失了,但现在我得到了:

ValueError: Shape mismatch: if n_values is an array, it has to be of shape (n_features,).

无论我是否用np.array包装我的np.array数组(当我这样做时,形状确实与(n_features,)相同),我也得到了同样的错误(不过有趣的是,它不再抱怨它是一个numpy数组,只要其中没有None值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-27 10:21:08

n_values只应包含范畴值的域大小,完全跳过数据矩阵中的非分类列。

因此,如果使用[True, False, True]格式,大小应该对应于数组中的True值的数目,或者如果使用索引,则两个数组的大小应该相同。

因此,应该没有None值,也不应该有0、-1s或任何其他方法来编码n_values数组中的实值变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44776786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档