sklearn TypeError: n_values参数类型错误。期望“auto”、int或int数组,获得<type 'numpy.ndarray'>

2024-03-28 12:58:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我在初始化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数组。在


Tags: numpynonetrue编码列表错误数组array
1条回答
网友
1楼 · 发布于 2024-03-28 12:58:48

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

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

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

相关问题 更多 >