概述
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=None,random_state=None)
参数:
-
C
:C-SVC的惩罚参数C?默认值是1.0
C越大,相当于惩罚松弛变量,希望松弛变量接近0,即对误分类的惩罚增大,趋向于对训练集全分对的情况,这样对训练集测试时准确率很高,但泛化能力弱。C值小,对误分类的惩罚减小,允许容错,将他们当成噪声点,泛化能力较强。 -
kernel
:核函数,默认是rbf,可以是‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’
– 线性:u’v
– 多项式:(gamma*u’v + coef0)^degree
– RBF函数:exp(-gamma|u-v|^2)
–sigmoid:tanh(gammau’*v + coef0) -
degree
:多项式poly函数的维度,默认是3,选择其他核函数时会被忽略。 -
gamma
: ‘rbf’,‘poly’ 和‘sigmoid’的核函数参数。默认是’auto’,则会选择1/n_features -
coef0
:核函数的常数项。对于‘poly’和 ‘sigmoid’有用。 -
probability
:是否采用概率估计.默认为False
布尔类型,可选,默认为False
决定是否启用概率估计。需要在训练fit()模型时加上这个参数,之后才能用相关的方法:predict_proba和predict_log_proba -
shrinking
:是否采用shrinking heuristic方法,默认为true -
tol
:停止训练的误差值大小,默认为1e-3 -
cache_size
:核函数cache缓存大小,默认为200 -
class_weight
:类别的权重,字典形式传递。设置第几类的参数C为weight*C(C-SVC中的C) -
verbose
:允许冗余输出? -
max_iter
:最大迭代次数。-1为无限制。 -
decision_function_shape
:‘ovo’, ‘ovr’ or None, default=None3 -
random_state
:数据洗牌时的种子值,int值
主要调节的参数有:C、kernel、degree、gamma、coef0
。
SVM种类,用途和关键参数表
使用SVM预测模型的通用步骤
- 选择使用的SVM类
- 用数据训练模型
- 检查验证误差并作为基准线
- 为SVM参数尝试不同的值
- 检查验证误差是否改进
- 再次使用最优参数的数据来训练模型
样例代码
import numpy as np
from sklearn.model_selection import GridSearchCV
parameters={'kernel':['linear','rbf','sigmoid','poly'],'C':np.linspace(0.1,20,50),'gamma':np.linspace(0.1,20,20)}
svc = svm.SVC()
model = GridSearchCV(svc,parameters,cv=5,scoring='accuracy')
model.fit(X_train,y_train)
model.best_params_
model.score(X_test,y_test)
最后
以上就是安详台灯为你收集整理的【机器学习】svm.SVC参数详解的全部内容,希望文章能够帮你解决【机器学习】svm.SVC参数详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复