描述:
支持向量机,可用于解决分类问题和回归问题。
语法:
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、ε-SVR、nu-SVR中惩罚系数C |
||
位置7 |
gamma:浮点数,默认1/特征数;核函数中gamma值,poly/rbf/sigmoid的核系数 |
||
位置8 |
coef0:浮点数,默认0;核函数中的coef0,poly/sigmoid相关 |
||
位置9 |
nu:浮点数,默认0.5;训练误差部分的上限和支持向量部分的下限,取值区间在(0,1)内。nu-SVC与nu-SVR中设置 |
||
位置10 |
p:浮点数,默认0.1;表示epsipon,在 epsilon-SVR 的损失函数中设置 epsilon |
||
位置11 |
nr_weight:整数;分类数或0,用于修改某些类的惩罚权重,SVC中使用。输入0表示不修改任何类别的惩罚权重;输入分类数表示按照各类别在总体样本中的比重来修改惩罚权重 |
||
位置12 |
shrinking:Boolean值0或1,默认1;是否使用收缩启发式 |
||
位置13 |
probability:Boolean值0或1,默认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中的参数,在训练集上进行训练,返回训练结果R,R中成员值依次为:决策函数中支持向量的系数、每个类别的标签、类别数、总支持向量的数量、每个类别的支持向量数量、决策函数中的常数、支持向量、训练时的参数param。 |
6 |
=svm(A5,A4) |
根据训练结果R,在预测集上进行预测,返回预测结果:
|
7 |
=svm(A1,A2,A3,A4) |
使用A3的参数,在训练集上进行训练,并在预测集上进行预测,返回预测结果。 |