python中的sklearn.svm.svr_支持向量机SVM--sklearn 参数说明

SVM(Support Vector Machine)支持向量机

1、SVM线性分类器

sklearn. svm. LinearsvC(penalty=12, loss=squared_hinge, dual=True, tol=0 0001, C=1.0,

multi_class=ovr, fit_intercept=True, intercept_ scaling=1, class_weight=None

verbose=0, random state=None, max iter=1000)

其参数如下。

口C:一个浮点数,罚项参数。

口loss:字符串。表示损失函数。可以为如下。

O" hinge':此时为合页损失函数(它是标准SVM的损失函数);

O' squared_hinge':合页损失函数的平方。

口 penalty:字符串。指定"11或者"l2',罚项的范数。默认为'12'(它是标准SVC采用的)

口dual:布尔值。如果为True,则解决对偶问题;如果是Fase,则解决原始问题。当 n_samples> n features时,倾向于采用 False

口tol:浮点数,指定终止迭代的阈值。

multi class:字符串,指定多类分类问题的策略。

O'ovr':采用one-vs-rest分类策略;

O' crammer-singer':多类联合分类,很少用。因为它的计算量大,而且精度不会更佳,此时忽略loss, penalty,dua参数。

口 fit_intercept:布尔值。如果为True,则计算截距,即决策函数中的常数项;否则忽

口 intercept_scaling:浮点值。如果提供了,则实例X变成向量[X, intercept_scaling]。此时相当于添加了一个人工特征,该特征对所有实例都是常数值。

○此时截距变成: intercept_scaling*人工特征的权重u;

O此时人工特征也参与了罚项的计算。

口 class_weight:可以是个字典,或者字符串" balanced'。指定各个类的权重,若未提供,则认为类的权重为1。

○如果是字典,则指定每个类标签的权重;

○如果是 balanced',则每个类的权重是它出现频率的倒数。

口 verbose:一个整数,表示是否开启 verbose输出。

口 random state:一个整数或者一个 Randomstate实例,或者None

○如果为整数,则它指定随机数生成器的种子。

O如果为 RandomState实例,则指定随机数生成器。

O如果为None,则使用默认的随机数生成器。

口max_iter:一个整数,指定最大的迭代次数。

其属性如下:

口 coef_: 一个数组,它给出了各个特征的权重

口 intercept:一个数组,它给出了截距,即决策函数中的常数项。

其方法如下。

口fit(X,y):训练模型。

口 predict(X):用模型进行预测,返回预测值。

口 score(X,y[, sample_weight]):返回在(X,y)上预测的准确率( accuracy)。

2、SVM非线性分类

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:一个浮点数,罚项系数。

口 kernel:一个字符串,指定核函数。

O" linear':线性核K(元,动)=元·z。

O'poly':多项式核K(x,动)=(y(x·z+1)+r),其中p由 degree参数决定,γ由

gamma参数决定,r由coe0参数决定。

O'bf"(默认值):高斯核函数K(x,z)=exp(-|一z2),其中γ由gama参数决

O' sigmoid':K(x,动=tanh((·z)+r)。其中y由gama参数决定,r由coef0参数指

O' precomputed':表示提供了 kernel matrⅸx,或者提供一个可调用对象,该对象用于

计算 kernel matrix

u degree:一个整数。指定当核函数是多项式核函数时,多项式的系数。对于其他核函

数,该参数无效。

口gama:一个浮点数。当核函数是'rbf','poly',' sigmoid"时,核函数的系数。如果

为'auto',则表示系数为1/ n features

口coef8:浮点数,用于指定核函数中的自由项。只有当核函数是'poy和' sigmoid时有

O probability:布尔值。如果为True,则会进行概率估计。它必须在训练之前设置好,且

概率估计会拖慢训练速度

口 shrinking:布尔值。如果为True,则使用启发式收缩( shrinking heuristic)。

口tol:浮点数,指定终止迭代的阈值。

口 cache_size:浮点值,指定了 kernel cache的大小,单位为MB

口 class_ weight:可以是个字典,或者字符串" balanced'。指定各个类的权重,若未提供

则认为类的权重为1。

O如果是字典,则指定每个类标签的权重;

O如果是' balanced',则每个类的权重是它出现频数的倒数。

口 verbose:一个整数,表示是否开启 verbose输出。

口 max iter:一个整数,指定最大迭代次数。

口 decision_ function shape:为字符串或者Mone,指定决策函数的形状。

O'owr':则使用one-vs-est准则,那么决策函数形状是( n_ samples, n classes)。

○None:默认值。采用该值时,目前会使用'ovo',但是在 scikit vi.18之后切换成'owr'。

口 random state:一个整数,或者一个 RandomState实例,或者None。

○如果为整数,则它指定随机数生成器的种子。

○如果为 RandomState实例,则指定随机数生成器

○如果为None,则使用默认的随机数生成器。

属性如下。

口 support:一个数组,形状为[nSⅥ],支持向量的下标

口 support_vectors:一个数组,形状为[nSv, n features],支持向量。

口 n_support-:一个数组like,形状为[ n class].每一个分类的支持向量的个数。

口 dual coef_:一个数组,形状为[ n class-1,nsⅥ。对偶问题中,在分类决策函数中每

个支持向量的系数。

口coef_:一个数组,形状为[ n class-1,n_ features]。原始问题中,每个特征的系数。只

有在 linear kernel中有效。

口 intercept:一个数组,形状为 n class*( n class-1)/2],决策函数中的常数项。

方法如下

口fit(X,y, sample_weight]):训练模型。

口 predict(x):用模型进行预测,返回预测值。

口 score(X,yt, sample_weight]):返回在(X,y)上预测的准确率( accuracy)。

口 predict_log_proba(X):返回一个数组,数组的元素依次是X预测为各个类别的概率的

对数值。

口 predict_proba(X):返回一个数组,数组的元素依次是X预测为各个类别的概率值

3、SVR线性回归

class sklearn svm Linear SVR(epsilon=0.0, tol=0 0001, C=1.0, loss='epsilon_insensitive,

fit_intercept=True, intercept_scaling=1. 0, dual=True, verbose=0, random_state=None,

max_iter=1000)

参数如下。

口C:一个浮点数,罚项系数。

口1oss:字符串,表示损失函数。可以为

O' epsilon_insensitive':此时损失函数为L。(标准的SVR)

O' squared_epsilon_insensitive':此时损失函数为L2。

口 epsilon:浮点数,用于1ose中的e参数。

口duaL:布尔值。如果为True,则解决对偶问题;如果是 False,则解决原始问题。当 n_samples

> n features时,倾向于采用 False

口tol:浮点数,指定终止迭代的阈值。

口 fit_ intercept:布尔值。如果为True,则计算截距,即决策函数中的常数项;否则忽

略截距。

口 intercept_scaling:浮点值。如果提供了,则实例X变成向量[X, intercept_scaling]。此

时相当于添加了一个人工特征,该特征对所有实例都是常数值。

O此时截距变成: intercept_scaling*人工特征的权重us

○此时人工特征也参与了罚项的计算。

口 verbose:一个整数,表示是否开启 verbose输出。

口 random state:一个整数,或者一个 RandomState实例,或者None。

O如果为整数,则它指定随机数生成器的种子

O如果为 RandomState实例,则指定随机数生成器

O如果为None,则使用默认的随机数生成器。

口max_iter:一个整数,指定最大迭代次数。

属性如

口coef:一个数组,它给出了各个特征的权重;

口 intercept:一个数组,它给出了截距,即决策函数中的常数项。

方法如下。

口fit(X,y):训练模型。

口 predict(X):用模型进行预测,返回预测值。

口 score(X,yt, sample. weight]):返回预测性能得分。

4、SVR非线性回归

class sklearn sVm SVR(kernel=rbf, degree=3, gamma=auto, coef000, tol=0. 001, C=1.0,

epsilon=0.1, shrinking=True, cache_ size=200, verbose=False, max_ iter=-1)

参数如下。

口C:一个浮点数,罚项系数。

口 epsilon:一个浮点数,即e参数。

口 kernel:一个字符串,指定核函数。

O" linear':线性核K(元,z)=x·z。

O'poly':多项式核K(元,动)=(y(文·z+1)+r),其中p由 degree参数决定,y由

gamma参数决定,r由coef参数决定。

O'rht'(默认值):高斯核函数K(元动)=exp(-y1x-zl|2),其中y由gamn参数决

O' sigmoid':K(元,z)=tanh(y(x·z)+r),其中y由gama参数决定,r由coef8参数指

O' precomputed':表示提供了 kernel matrix,

O或者提供一个可调用对象,该对象用于计算 kernel matrix。

口 degree:一个整数,指定当核函数是多项式核函数时,多项式的系数。对于其他核函

数,该参数无效。

口gama:一个浮点数,当核函数是'rbf'、'poly'、' sigmoid时,核函数的系数。如果

为'auto',则表示系数为1/ n features

口coef0:浮点数,用于指定核函数中的自由项。只有当核函数是'poly'和' sigmoid'时有

口shrinking:布尔值。如果为True,则使用启发式( shrinking heuristic)

口tol:浮点数,指定终止迭代的阈值。

口 cache size:浮点值,指定了 kernel cache的大小,单位为MBa

o verbose:一个整数,表示是否开启 verbose输出。

口 max iter:一个整数,指定最大迭代次数。

属性如下。

口 support-:一个数组,形状为[nsv],支持向量的下标。

口 support_vectors:一个数组,形状为[nsw, n features],支持向量。

口 n_support:一个数组like,形状为[ n class每一个分类的支持向量的个数。

口 dual coef:一个数组,形状为 n class-1,nsⅥ],给出了决策函数中每个支持向量的

系数。

口coef:一个数组,形状为ncas-1, n features]。原始问题中每个特征的系数,只有

在 linear kernel中有效。

口 intercept:决策函数中的常数项

方法如下。

口fit(X,y):训练模型。

口 predict(x):用模型进行预测,返回预测值

口 score(X,yt, sample_weight]):返回预测性能得分。

摘自:python大战机器学习

你可能感兴趣的:(python中的sklearn.svm.svr_支持向量机SVM--sklearn 参数说明)