使用scikit-learn支持矢量机训练

时间:2014-05-18 10:41:33

标签: python machine-learning scikit-learn

我正在尝试使用scikit-learn训练支持向量机。它正确地给出了trainingdata1的输出。但它始终没有给出trainingdata2的预期结果(trainingdata2是我真正需要的)。有什么问题?

from sklearn import svm

trainingdata1 = [[11.0, 2, 2, 1.235, 5.687457], [11.3, 2, 2,7.563, 10.107477]]
#trainingdata2 = [[1.70503083,7.531671404747827,1.4804916998015452,3.0767991352604387,6.5742], [11.3, 2, 2,7.563, 10.107477]]


clf = svm.OneClassSVM()
clf.fit(trainingdata1)

def alert(data):
    if clf.predict(data) < 0:
        print ('\n\nThere is something wrong')
    else:
        print('\nCorrect')

alert([11.3, 2, 2,7.563, 10.107477])
#alert([1.70503083,7.531671404747827,1.4804916998015452,3.0767991352604387,6.5742])

1 个答案:

答案 0 :(得分:1)

我必须承认我之前没有听说过一类SVM。据我了解,他们的目标是找出测试示例是否与之前提供的示例相似。现在,两种情况之间的区别在于,两个向量在第一个工作示例中非常相似,在另一个向量中有所不同(如果我们比较值的不同组件的数值)。可能这实际上是按照预期行事吗?请注意,由于概括,SVM培训并不一定意味着所有培训示例都被归类为标记用于培训。