sklearn 功能列表中允许的数据类型?

Type of data allowed in features list in sklearn ?

伙计们,我正在尝试使用 sklearn(或 scikit-learn)库进行机器学习,但我一次又一次地 运行 陷入错误:

TypeError: cannot perform reduce with flexible type

我发生错误的代码行是:

X=[['SALES',2,4],['SALES',3,1],['TECHNICAL',9,1]];
Y=['NICE','NOT NICE','AWESOME']
classifier.fit(np.array(X),np.array(Y))

如果我将 'SALES' 和 'TECHNICAL' 分类值转换为 0 和 1 这样的数字,那么它就可以正常工作。

X=[[0,2,4],[0,3,1],[1,9,1]];
Y=['NICE','NOT NICE','AWESOME']
classifier.fit(np.array(X),np.array(Y))

我的问题是我是否必须将所有字符串类型的分类值转换为特征列表中的数字?我知道这可能是一个非常愚蠢的问题,但请帮帮我....

scikit-learn 估计模型的输入必须始终是数字 numpy 数组。

所以是的,在将它们提供给 sklearn 之前,您必须将分类字符串特征转换为数字(序数或虚拟化)。