1,先说个例子,看看简单的使用sklean中的SVC(support vectors classification)。
from sklearn import svm
import warnings
warnings.filterwarnings("ignore", category=FutureWarning, module="sklearn", lineno=196)
X = [[0, 0], [0, 1], [1, 0], [1, 1]] # training samples
y = [0, 1, 2, 3] # training target
clf = svm.SVC() # class
clf.fit(X, y) # training the svc model
print(clf.score([[0, 0], [0, 1], [1, 0], [1, 1]],[0, 1, 1, 3]))
result = clf.predict([[0, 1]]) # predict the target of testing samples
print(result) # target
运行结果如下:
0.75
[1]
说明在测试集上的准确率为75%,测试数据预测结果为1。
2,SVM既可以用来分类,就是SVC;又可以用来预测,或者称为回归,就是SVR。我们也使用一个小例子说明SVR怎么用。
from sklearn import svm
import warnings
warnings.filterwarnings("ignore", category=FutureWarning, module="sklearn", lineno=196)
X = [[0, 0], [1, 1]]
y = [0.5, 1.5]
clf = svm.SVR()
clf.fit(X, y)
result = clf.predict([[2, 2]])
print(result)
运行结果如下:
[1.22120072]
有用的参考文档:
SVC:
http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC
SVR:
http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVR.html#sklearn.svm.SVR
其他:
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
http://scikit-learn.org/stable/modules/svm.html