Libsvm svmtrain和svmpredict以及参数简介

Libsvm svmtrain和svmpredict以及参数简介

(1)model= svmtrain(train_label, train_matrix, ['libsvm_options']);

其中:

train_label表示训练集的标签。

train_matrix表示训练集的属性矩阵。

libsvm_options是需要设置的一系列参数,各个参数可参见《libsvm 参数说明.txt》,里面介绍的很详细,中英文都有的。如果用回归的话,其中的-s参数值应为3。

model:是训练得到的模型,是一个结构体(如果参数中用到-v,得到的就不是结构体,对于分类问题,得到的是交叉检验下的平均分类准确率;对于回归问题,得到的是均方误差)。

 

(2)[predicted_label, accuracy/mse,decision_values/prob_estimates]=svmpredict(test_label, test_matrix, model, ['libsvm_options']);

其中:

test _label表示测试集的标签(这个值可以不知道,因为作预测的时候,本来就是想知道这个值的,这个时候,随便制定一个值就可以了,只是这个时候得到的mse就没有意义了)。

test _matrix表示测试集的属性矩阵。

model   是上面训练得到的模型。

libsvm_options是需要设置的一系列参数。

predicted_label表示预测得到的标签。

accuracy/mse是一个3*1的列向量,其中第1个数字用于分类问题,表示分类准确率;后两个数字用于回归问题,第2个数字表示mse;第三个数字表示平方相关系数(也就是说,如果分类的话,看第一个数字就可以了;回归的话,看后两个数字)。

decision_values/prob_estimates:第三个返回值,一个矩阵包含决策的值或者概率估计。对于n个预测样本、k类的问题,如果指定“-b 1”参数,则n x k的矩阵,每一行表示这个样本分别属于每一个类别的概率;如果没有指定“-b 1”参数,则为n x k*(k-1)/2的矩阵,每一行表示k(k-1)/2个二分类SVM的预测结果。

 

(3) 训练的参数

LIBSVM训练时可以选择的参数很多,包括:

-s svm类型:SVM设置类型(默认0)

    0 — C-SVC; 1 –v-SVC; 2 –一类SVM; 3 — e-SVR; 4 — v-SVR

-t 核函数类型:核函数设置类型(默认2)

    0 –线性核函数:u’v

    1 –多项式核函数:(r*u’v + coef0)^degree

    2 – RBF(径向基)核函数:exp(-r|u-v|^2)

    3 – sigmoid核函数:tanh(r*u’v + coef0)

-d degree:核函数中的degree设置(针对多项式核函数)(默认3)

-g r(gamma):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)(默认1/k,k为总类别数)

-r coef0:核函数中的coef0设置(针对多项式/sigmoid核函数)((默认0)

-c cost:设置C-SVC,e -SVR和v-SVR的参数(损失函数)(默认1)

-n nu:设置v-SVC,一类SVM和v- SVR的参数(默认0.5)

-p p:设置e -SVR 中损失函数p的值(默认0.1)

-m cachesize:设置cache内存大小,以MB为单位(默认40)

-e eps:设置允许的终止判据(默认0.001)

-h shrinking:是否使用启发式,0或1(默认1)

-wi weight:设置第几类的参数C为weight*C (C-SVC中的C) (默认1)

-v n: n-fold交互检验模式,n为fold的个数,必须大于等于2

以上这些参数设置可以按照SVM的类型和核函数所支持的参数进行任意组合,如果设置的参数在函数或SVM类型中没有也不会产生影响,程序不会接受该参数;如果应有的参数设置不正确,参数将采用默认值。

 

(4) modle参数

model.Parameters参数意义从上到下依次为:
-s svm类型:SVM设置类型(默认0)
-t 核函数类型:核函数设置类型(默认2)
-d degree:和函数中的degree设置(针对多项式核函数)(默认3)
-g gama:核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)(默认类别数目的倒数)
-r coef0:核函数中的coef0设置(针对多项式/sigmoid核函数)(默认为0)

model.Label:表示数据集中类别的标签
model.nr_class:表示数据集中有多少标签 
model.totalSV:代表总共的支持向量机的数目
model.nSV:表示每类样本的支持向量的数目
model.ProbA,model.ProbB:
model.sv_coef:表示支持向量在决策函数中的系数
model.SVs:表示支持向量
model.rho:表示决策函数中的常数项的相反数(-b)
model.sv_indices:表示支持向量在数据集中的位置

(5) 结果参数解析:
iter:迭代次数
nu: 与前面的操作参数-n nu 相同
obj:为SVM问题转换为的二次规划求解得到的最小值
rho:表示决策函数中的常数项的相反数(-b)
nSV:标准支持向量个数,就是在分类的边界上,松弛变量等于0,朗格朗日系数 0=<ai<C  
nBSV:边界的支持向量个数,不在分类的边界上,松弛变量大于0,拉格郎日系数 ai = C
Accuracy:预测结果的准确率

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
svmpredict函数的参数意义如下: - predicted_label:预测的标签值,即分类结果。 - accuracy/mse:准确率(对于分类问题)或均方误差(对于回归问题)。 - decision_values/prob_estimates:决策值(对于二分类问题)或概率估计值(对于多分类问题)。 model.Parameters参数的意义如下: - -s svm类型:SVM设置类型。0表示C-SVC,1表示v-SVC,2表示一类SVM,3表示e-SVR,4表示v-SVR。 - -t 核函数类型:核函数设置类型。0表示线性核函数,1表示多项式核函数,2表示RBF函数,3表示sigmoid函数。 - -d degree:核函数中的degree设置,针对多项式核函数。 - -g r(gama):核函数中的gamma函数设置,针对多项式/RBF/sigmoid核函数。 - -r coef0:核函数中的coef0设置,针对多项式/sigmoid核函数。 - -c cost:设置C-SVC,e-SVR和v-SVR的参数,即损失函数。 其中,#iter为迭代次数,nu是你选择的核函数类型的参数,obj为SVM文件转换为的二次规划求解得到的最小值,rho为判决函数的偏置项b,nSV为标准支持向量个数,nBSV为边界上的支持向量个数(a\[i\]=c),Total nSV为支持向量总个数(对于两类来说,因为只有一个分类模型Total nSV = nSV,但是对于多类,这个是各个分类模型的nSV之和)。\[2\]\[3\] #### 引用[.reference_title] - *1* [Libsvm svmtrainsvmpredict以及参数简介](https://blog.csdn.net/Aiden0503/article/details/101816072)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [svmtrainsvmpredict参数](https://blog.csdn.net/liuyingying0418/article/details/51280086)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [svmtrainsvmpredict](https://blog.csdn.net/qq_40771390/article/details/105509112)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值