SVM是支持向量机(Support Vector Machine)的简称。
SVM具有分类功能(SVC,C是Classification(分类)的首字母);
也具有回归功能(SVR,R是Regression(回归)的首字母)。
python中SVC函数使用:
clf = svm.SVC(C=0.8, kernel='rbf', gamma=20, decision_function_shape='ovr')
clf.fit(x_train, y_train.ravel())
1)c:正则化系数
2)Kernel:核函数
作用:核函数的引入是为了解决线性不可分的问题,讲分类点映射的高维空间中以后,转化为可线性分割的问题。
kernel=‘linear’时,为线性核
kernel='rbf'时,径向基函数,为高斯核,gamma值越小,分类界面越连续;gamma值越大,分类界面越“散”,分类效果越好,但可能会过拟合;
kernel='poly':多项式核
kernel=sigmoid’:Sigmoid核函数
3)decision_function_shape参数
decision_function_shape='ovr'时,为one v rest,即一个类别与其他ov类别进行划分;
decision_function_shape='ovo'时,为one v one,即将类别两两进行划分,用二分类的方法模拟多分类的结果;
#预测
y_ = svc.predict(X_test)
计算SVC分类器的准确率
print clf.score(x_train, y_train) # 精度