笔记:Scikit Learn中SVM实现
1、sklearn.svm模块
LinearSVC
:基于liblinear的SVMSVC
:基于libsvm的C-SVMNuSVC
:基于libsvm的C-SVMOneClassSVM
:非监督的异常值检测
2、sklearn.svm提供的SVC
官方文档中的定义的类:
http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html
# class sklearn.svm.SVC(
# C=1.0,
# kernel=’rbf’,
# degree=3,
# gamma=’auto’,
# coef0=0.0,
# shrinking=True,
# probability=False,
# tol=0.001,
# cache_size=200,
# class_weight=None,
# verbose=False,
# max_iter=-1,
# decision_function_shape=’ovr’,
# random_state=None
# )
from sklearn.svm import SVC
其中比较重要的参数:
Parameters Type Default Description C float 1.0 C-SVC的惩罚参数。C越大,惩罚越大,趋向训练集全分对 kernel string ‘rbf’ 内核算法, 必须是’linear’,’poly’,’rbf’,’sigmoid’,’precomputed’或可调用的算法。 probability boolean False 是否启用概率估计。 decision_function_shape string ‘ovr’ 应用于多分类任务,只能选择’ovo’或’ovr’ 与模型复杂度相关的参数:
Parameters Type Default Description C float 1.0 C-SVC的惩罚参数。C越小,决策便捷越平滑,C越大,惩罚越大,趋向训练集全分对 kernel string ‘rbf’ 内核算法, 必须是’linear’,’poly’,’rbf’,’sigmoid’,’precomputed’或可调用的算法。 degree int 3 kernel为’poly’时的度 gamma float ‘auto’ 核’poly’,’rbf’,’sigmoid’的核系数 γ γ 。如果为默认’auto’使用“特征数分之一”代替。 coef0 float 0.0 核函数的独立指标 θ θ