我在初始化OneHotEncoder
时传入了一个硬编码的列表/元组(两者都试过了),在fit_transform
期间我得到了这个错误,没有在任何地方使用numpy
类型(除了数据矩阵本身)。在
唯一的问题是该数组中的一些值是None
,因为我还使用categorical_features
来指定掩码(因为有些特性是实值的,我希望它们保持实值)。在
我的n_values
看起来像[1, 2, 3, None, 5]
或{
虽然我也尝试过:
[True, True, True, False, True]
。在
文档中没有提供任何打开掩码的实际示例。在
编辑:
所以,我试着用0代替None
,这个问题消失了,但现在我得到:
ValueError: Shape mismatch: if n_values is an array, it has to be of shape (n_features,).
无论我是否用np.array
包装我的mask
数组(当我这样做的时候,这个形状确实与(n_features,)
相同),我都会得到相同的错误(尽管有趣的是,只要其中没有None
值,它就不再抱怨它是numpy
数组。在
n_values
只应包含类别值的域大小,完全跳过数据矩阵中的非类别列。在因此,如果使用
[True, False, True]
格式,则大小应与数组中True
值的数目相对应,或者如果使用索引,则两个数组的大小应相同。在因此,应该没有
None
值,也没有0、-1或任何其他方式来编码n_values
数组中的实值变量。在相关问题 更多 >
编程相关推荐