如何在scikit上使用libsvm学习?

时间:2017-06-05 11:37:02

标签: python scikit-learn

我想使用libsvm作为预测的分类器。我使用了以下代码:

import numpy as np
import sklearn
from sklearn.svm import libsvm

X = np.array([[0,1.22,45,2.111,9.344,0], [0,1.5,25,5,1,0]])
y = np.array([0.0,1.0])

clf=sklearn.svm.libsvm

clf.fit(X,y)

print(clf.predict([1,1.12,42,4.223,2.33,0]))

我收到以下错误:  文件“sklearn / svm / libsvm.pyx”,第270行,在sklearn.svm.libsvm.predict中(sklearn / svm / libsvm.c:3917) TypeError:predict()至少需要6个位置参数(给定1个)

这是正确的方法吗?我该如何解决错误?

1 个答案:

答案 0 :(得分:0)

基本上使用sklearn.svm.SVC,因为如sklearn的文档中所述,SVC基于libsvm:

class SVC(BaseSVC):
   C-Support Vector Classification.
  

该实现基于libsvm。拟合时间复杂度       样本数量超过了二次方,这使得它很难       可以扩展到具有超过10000个样本的数据集。