我使用scikit-learn
来实现简单的监督式学习算法。实质上,我遵循教程here(但使用我自己的数据)。以分类(字符串)数据作为标签的SVC(支持向量分类)
我尽量拟合模型:
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(features_training,labels_training)
但在第二行中,我得到一个错误:ValueError: could not convert string to float: 'A'
预计此错误的原因label_training
包含字符串值代表三个不同的类别,例如如A
,B
,C
。
所以问题是:如果标记数据表示字符串形式的类别,我该如何使用SVC(支持向量分类)。对我来说,一个直观的解决方案似乎只是将每个字符串转换为数字。例如,A = 0
,B = 1
等,但这真的是最好的解决方案?
您应至少直接链接到该部分并提及OneHotEncoder –
但是当您尝试预测新颜色时,热编码如何帮助您?也许在你的情况下,你必须重新训练模型。你有任何解决方案? – gtzinos