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

Posted

技术标签:

【中文标题】sklearn 功能列表中允许的数据类型?【英文标题】:Type of data allowed in features list in sklearn ? 【发布时间】:2016-03-02 10:04:30 【问题描述】:

伙计们,我正在尝试使用 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))

如果我将“销售”和“技术”分类值转换为 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))

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

【问题讨论】:

***.com/questions/28393103/… 谢谢@hellpanderrr。 【参考方案1】:

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

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

【讨论】:

以上是关于sklearn 功能列表中允许的数据类型?的主要内容,如果未能解决你的问题,请参考以下文章

GET 参数中允许的字符

如何在 sklearn.svm.libsvm.fit() 分类器中包含列表类型功能?

初始化列表initializer_list

检查 codeigniter 文件上传中允许的类型

如何使用 sklearn 获取无用功能列表?

C 中允许的静态数组的最大大小是多少?