sklearn::TypeError:参数"n_values"的类型错误。预期的"auto",int 或整数数组,<类型"numpy.ndarray">



我在初始化 OneHotEncoder时在硬编码列表/元组中(两者都尝试(,并且在fit_transform期间我会遇到此错误,而在任何地方都不使用numpy类型(良好,除了数据矩阵本身以外(。

唯一的是该数组中的某些值是None,因为我也使用categorical_features来指定掩码(就像在某些功能中一样,我希望它们保持真实价值。p>我的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,).

我是否将mask数组与np.array包装(并且当我进行形状时,确实与(n_features,)相同(,我会遇到同样的错误(尽管有趣的是,它不再抱怨它是numpy数组中没有None值。

n_values仅应包含分类值的域大小,完全跳出了数据矩阵中的非类别列。

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

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

最新更新