svm()

阅读(1076) 标签: 向量机, 分类, 回归,

描述:

支持向量机,可用于解决分类问题和回归问题。

语法:

svm(X,Y,param)

对于训练数据集自变量X和因变量Y,使用参数param进行训练,返回训练结果即模型R

svm(R,Xpre)

根据模型R,在预测集XPre上进行预测,返回预测结果。

svm(X,Y,param,XPre)

训练连接预测。输入训练数据自变量X,因变量Y,模型参数,预测数据XPre,联动执行模型训练和预测,返回预测结果。

备注:

外部库函数,外部库的使用请参考《外部库使用指南》。

参数param是包含了4种支持向量机模型参数的集合,使用时重点设置所选模型对应的参数。

参数:

X

序列,训练集自变量。

Y

序列,训练集目标变量。

param

序列,支持向量机参数集合。

R

序列,语法svm(X,Y,param)的返回结果。

XPre

序列,预测集数据。

参数param说明:

param内共计13个参数,函数计算时将会顺序读取。

位置

参数说明

可选值

可选值说明

位置1

svm_type:整数,默认0;表示可选模型种类

0

C-SVC 分类算法

1

nu-SVC 分类算法

3

epsilon-SVR 回归算法

4

nu-SVR 回归算法

位置2

kernel_type:整数,默认2表示 核函数可选

0

linear: u'*v 线性核函数

1

polynomial: (gamma*u'*v + coef0)^degree 多项式核函数

2

radial basis function: exp(-gamma*|u-v|^2) 高斯核函数/径向基核函数

3

sigmoid: tanh(gamma*u'*v + coef0) sigmoid核函数

位置3

degree:整数,默认3多项式核函数的级数(poly’),如果是其他核函数,此参数会被忽略

位置4

cache_size:浮点数,默认100设置kernel缓存大小( MB 为单位)

位置5

eps:浮点数,默认0.001误差精度,终止准则中的可容忍偏差

位置6

C:浮点数,默认1正则化参数,C-SVCε-SVRnu-SVR中惩罚系数C

位置7

gamma浮点数,默认1/特征数核函数中gammapoly/rbf/sigmoid的核系数

位置8

coef0浮点数,默认0核函数中的coef0poly/sigmoid相关

位置9

nu:浮点数,默认0.5;训练误差部分的上限和支持向量部分的下限,取值区间在(0,1)内。nu-SVCnu-SVR设置

位置10

p:浮点数,默认0.1;表示epsipon,在 epsilon-SVR 的损失函数中设置 epsilon

位置11

nr_weight:整数;分类数或0用于修改某些类的惩罚权重,SVC中使用。输入0表示不修改任何类别的惩罚权重;输入分类数表示按照各类别在总体样本中的比重来修改惩罚权重

位置12

shrinkingBoolean01,默认1是否使用收缩启发式

位置13

probabilityBoolean01,默认0是否启用概率估计

返回值:

序列

示例:

 

A

 

1

[[17.6,17.7,17.7,17.7],[17.7,17.7,17.7,17.8],[17.7,17.7,17.8,17.8],[17.7,17.8,17.8,17.9],

[17.8,17.8,17.9,18],[17.8,17.9,18,18.1],[17.9,18,18.1,18.2],[18,18.1,18.2,18.4],[18.1,18.2,18.4,18.6],

[18.2,18.4,18.6,18.7],[18.4,18.6,18.7,18.9],[18.6,18.7,18.9,19.1]]

训练集自变量X

2

[17.8,17.8,17.9,18,18.1,18.2,18.4,18.6,18.7,18.9,19.1,19.3]

训练集目标变量Y

3

[3,0,3,100,0.00001,1,0.25,0,0.5,0.1,1,1,1]

设置参数param

4

[[18.7,18.9,19.1,19.3],[18.9,19.1,19.3,19.6],[19.1,19.3,19.6,19.9],[19.3,19.6,19.9,20.2],

[19.6,19.9,20.2,20.6],[19.9,20.2,20.6,21],[20.2,20.6,21,21.5]]

预测集XPre

5

=svm(A1,A2,A3)

使用A3中的参数,在训练集上进行训练,返回训练结果RR中成员值依次为:决策函数中支持向量的系数、每个类别的标签、类别数、总支持向量的数量、每个类别的支持向量数量、决策函数中的常数、支持向量、训练时的参数param

6

=svm(A5,A4)

根据训练结果R,在预测集上进行预测,返回预测结果:

7

=svm(A1,A2,A3,A4)

使用A3的参数,在训练集上进行训练,并在预测集上进行预测,返回预测结果。