Python/scikit-learn机器学习库(SVM支持向量机)

来源:互联网 发布:java读懂项目代码 编辑:程序博客网 时间:2024/05/21 09:27

SVM

SVM用于分类、回归、异常检测。
优点:

  1. 高维空间有效。
  2. 维度小于样本数时依然有效。
  3. 样本少时表现不好。
分类

多分类: 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函数的系数,决定了数据映射到新的特征空间后的分布。

degree
0 0
原创粉丝点击