一尘不染

非整数类标签Scikit-Learn

python

scikit学习的快速SVM问题。训练SVM时,就像

from sklearn import svm
s = svm.SVC()
s.fit(training_data, labels)

有什么办法labels可以成为非数字类型的列表?例如,如果我想将向量分类为“猫”或“狗”,而不必使用某种外部查找表将“猫”和“狗”编码为1和2。当我尝试仅传递字符串列表时,我得到…

ValueError: invalid literal for float(): cat

因此,看起来像只是推弦乐labels不起作用。有任何想法吗?


阅读 327

收藏
2021-01-20

共1个答案

一尘不染

sklearn的最新版本能够使用字符串作为标签。例如:

from sklearn.svm import SVC
clf = SVC()
x = [[1,2,3], [4,5,6]]
y = ['dog', 'cat']
clf.fit(x,y)

yhat = clf.predict([[1,2,5]])
print yhat[0]
2021-01-20