sklearn集成支持向量机svm.SVC参数说明

经常用到sklearn中的SVC函数,这里把文档中的参数翻译了一些,以备不时之需。

本身这个函数也是基于libsvm实现的,所以在参数设置上有很多相似的地方。(PS: libsvm中的二次规划问题的解决算法是SMO)。
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’

  0 – 线性:u‘v

   1 – 多项式:(gamma*u‘*v + coef0)^degree

  2 – RBF函数:exp(-gamma|u-v|^2)

  3 –sigmoid:tanh(gamma*u‘*v + coef0)

degree:多项式poly函数的维度,默认是3,选择其他核函数时会被忽略。

gamma : ‘rbf’,‘poly’ 和‘sigmoid’的核函数参数。默认是’auto’,则会选择1/n_features

coef0 :核函数的常数项。对于‘poly’和 ‘sigmoid’有用。

probability:是否采用概率估计?.默认为False

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。

仅供参考,正确性自行检测,最好阅读官方文档。

原文地址:https://www.cnblogs.com/zrmw/p/11448228.html

时间: 2024-10-03 20:26:16

sklearn集成支持向量机svm.SVC参数说明的相关文章

sklearn系列之 sklearn.svm.SVC详解

首先我们应该对SVM的参数有一个详细的认知: sklearn.svm.SVC 参数说明: 本身这个函数也是基于libsvm实现的,所以在参数设置上有很多相似的地方.(PS: libsvm中的二次规划问题的解决算法是SMO). 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, cla

吴裕雄 python 机器学习——支持向量机SVM非线性分类SVC模型

import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm from sklearn.model_selection import train_test_split def load_data_classfication(): ''' 加载用于分类问题的数据集 ''' # 使用 scikit-learn 自带的 iris 数据集 iris=datasets.lo

支持向量机SVM:SVC

1 import numpy as np 2 import matplotlib.pyplot as plt 3 from sklearn import svm 4 from sklearn.datasets import make_blobs 5 X,y=make_blobs(n_samples=50,centers=2,random_state=6) 6 clf=svm.SVC(kernel='linear',C=1000) 7 #clf=svm.SVC(kernel='rbf',C=100

支持向量机(SVM)笔记

SVM 1.概述 SVM全称Support_Vector_Machine,即支持向量机,是机器学习中的一种监督学习分类算法,一般用于二分类问题.对于线性可分的二分类问题,SVM可以直接求解,对于非线性可分问题,其也可以通过核函数将低维映射到高维空间从而转变为线性可分.对于多分类问题,SVM经过适当的转换,也能加以解决.相对于传统的分类算法如logistic回归,k近邻法,决策树,感知机,高斯判别分析法(GDA)等,SVM尤其独到的优势.相对于神经网络复杂的训练计算量,SVM在训练方面较少计算量的

sklearn中的SVM

scikit-learn中SVM的算法库分为两类,一类是分类的算法库,包括SVC, NuSVC,和LinearSVC 3个类.另一类是回归算法库,包括SVR, NuSVR,和LinearSVR 3个类.相关的类都包裹在sklearn.svm模块之中. 对于SVC, NuSVC,和LinearSVC 3个分类的类,SVC和 NuSVC差不多,区别仅仅在于对损失的度量方式不同,而LinearSVC从名字就可以看出,他是线性分类,也就是不支持各种低维到高维的核函数,仅仅支持线性核函数,对线性不可分的数

Sklearn之支持向量机分类

''' 支持向量机: 支持向量机原理: 分类原则:寻求最优分类边界 1.正确:对大部分样本可以正确地划分类别. 2.泛化:最大化支持向量间距. 3.公平:与支持向量等距. 4.简单:线性,直线或平面,分割超平面. 基于核函数的升维变换:通过名为核函数的特征变换,增加新的特征,使得低维度空间中的线性不可分问题变为高维度空间中的线性可分问题. 1>线性核函数:linear,不通过核函数进行维度提升,仅在原始维度空间中寻求线性分类边界. 2>多项式核函数:poly,通过多项式函数增加原始样本特征的高

支持向量机 SVM - Wenjing

概念 将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面.在分开数据的超平面的两边建有两个互相平行的超平面,分隔超平面使两个平行超平面的距离最大化.假定平行超平面间的距离或差距越大,分类器的总误差越小. 基本模型是定义在特征空间上的间隔最大的线性分类器 SVM的的学习算法就是求解凸二次规划的最优化算法. 数学理论 评估指标 ScikitLearn 中的线性回归用法 12345678910111213 from sklearn.model_selection import tra

基于支持向量机SVM的人脸识别

一.线性SVM 1. 背景: 1.1 最早是由 Vladimir N. Vapnik 和 Alexey Ya. Chervonenkis 在1963年提出 1.2 目前的版本(soft margin)是由Corinna Cortes 和 Vapnik在1993年提出,并在1995年发表 1.3 深度学习(2012)出现之前,SVM被认为机器学习中近十几年来最成功,表现最好的算法 2. 机器学习的一般框架: 训练集 => 提取特征向量 => 结合一定的算法(分类器:比如决策树,KNN)=>

支持向量机(SVM)(二)-- 拉格朗日对偶(Lagrange duality)

简介: 1.在之前我们把要寻找最优的分割超平面的问题转化为带有一系列不等式约束的优化问题.这个最优化问题被称作原问题.我们不会直接解它,而是把它转化为对偶问题进行解决. 2.为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点.即拉格朗日函数,再通过这个函数来寻找最优点. 3.约束条件可以分成不等式约束条件和等式约束条件,只有等式约束条件的问题我们在高等数学课