您的位置:首页 > 其它

libsvm参数说明

2015-01-25 12:49 260 查看
http://blog.csdn.net/lqhbupt/article/details/8596349

注意到libsvm-3.16下有一个数据文件,名称为heart_scale。这是一个libsvm格式的数据文件。可使用libsvmread函数将其转化为matlab格式。

可使用以下代码测试:

[heart_scale_label,heart_scale_inst]=libsvmread('heart_scale');

model = svmtrain(heart_scale_label,heart_scale_inst, '-c 1 -g 0.07');

[predict_label, accuracy, dec_values] =svmpredict(heart_scale_label, heart_scale_inst, model); % test the trainingdata

6) svmtrain函数相关参数说明

svmtrain函数返回的model可以用来对测试数据集进行预测。这是一个结构体变量,主要包括了以下几个域。[Parameters, nr_class, totalSV, rho, Label, ProbA, ProbB, nSV,sv_coef, SVs]。英文说明如下:

-Parameters: parameters

-nr_class: number of classes; = 2 for regression/one-class svm

-totalSV: total #SV

-rho: -b of the decision function(s) wx+b

-Label: label of each class; empty for regression/one-class SVM

-ProbA: pairwise probability information; empty if -b 0 or in one-classSVM

-ProbB: pairwise probability information; empty if -b 0 or in one-classSVM

-nSV: number of SVs for each class; empty for regression/one-class SVM

-sv_coef: coefficients for SVs in decision functions

-SVs: support vectors

如果没有指定’-b 1’选项则ProbA和ProbB为空矩阵。此外,当指定’-v’选项时,返回的model是一个数值,是cross-validation的准确率。

其中model.paramter是一个5X1的向量,参数意义为:

model.Parameters参数意义从上到下依次为:

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

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

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

-g r(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数) (默认类别数目的倒数)

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

7)svmpredict函数参数说明

svmpredict函数返回三个值,predict_label,是训练集预测得到的label向量。第二个输出是accuracy,是一个3维的向量,从上到下分别是:分类准率(分类问题中用到的参数指标);平均平方误差(MSE (mean squared error)) (回归问题中用到的参数指标);平方相关系数(r2 (squared correlation coefficient))(回归问题中用到的参数指标)。第三个输出是个矩阵,包含着决策值或者是概率估计(当’-b 1’被指定时)。当训练数据有k类时,决策值矩阵是一个n行k*(k-1)/2列的矩阵(n为测试数据集个数,k为类别数),而每一行的输出是k*(k-1)/2个二分类器的结果。当’-b
1’被指定时,概率估计矩阵是一个n行k类的矩阵(n为测试数据集个数,k为类别数),每一行的输出是该测试数据属于每个类的概率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: