SVM
SVM用于分类、回归、异常检测。
优点:
- 高维空间有效。
- 维度小于样本数时依然有效。
- 样本少时表现不好。
分类
多分类: SVC、NuSVC、LinearSVC。SVMs决策函数依赖于训练数据中一部分,这些向量称为支持向量。
NuSVC
from sklearn.svm import NuSVC
clf=svm.NuSVC()
SVC
from sklearn import svm
clf=svm.SVC()
clf.fit(X,Y)
//分类
clf.predict(x)
//样本与分类超平面的距离,如n是分类数,则距离向量维度为n(n-1)/2
clf.decision_function(x)
//评分
clf.score(x,y)
回归
Support Vector Regression:SVR、NuSVR、LinearSVR。
SVR
from sklearn import svm
clf=svm.SVR()
clf.fit(X,Y)
//预测
clf.predict(x)
SVM参数
C
惩罚因子,在最优化函数中,对离群点的惩罚因子,也就是对离群点的重视程度。距离分类面越远,离群就越严重。C的值越大,考虑离群点的权重越大,可能无法得到问题的解;若C=0,忽略离群点。
C的取值会影响SVM的性能。C的取值通常和样本的数量有关,样本数量越大,C也会越大;C也和数据的分布(可分性)有关。
gamma
Kernel函数的系数,决定了数据映射到新的特征空间后的分布。