scikit学习的快速SVM问题。训练SVM时,就像
from sklearn import svm s = svm.SVC() s.fit(training_data, labels)
有什么办法labels可以成为非数字类型的列表?例如,如果我想将向量分类为“猫”或“狗”,而不必使用某种外部查找表将“猫”和“狗”编码为1和2。当我尝试仅传递字符串列表时,我得到…
labels
ValueError: invalid literal for float(): cat
因此,看起来像只是推弦乐labels不起作用。有任何想法吗?
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]