如何进行交叉验证 SVM 分类器
Posted
技术标签:
【中文标题】如何进行交叉验证 SVM 分类器【英文标题】:How to do cross validation SVM classifier 【发布时间】:2014-10-02 20:33:42 【问题描述】:我想通过对一个数据矩阵S应用SVM分类器进行解码,其大小为1089*43093,标签的预测精度,记为r,是基于11折交叉计算的- 验证分类过程。11折交叉验证基于数据矩阵S,将其分为训练和测试数据集进行分类。具体来说,此交叉验证仅用于计算预测精度 r。 谁能给我一些建议来做到这一点?非常感谢!
【问题讨论】:
使用 libsvm,有助于开始使用 svm.. 有什么教程可以让我阅读有关如何使用 libsvm 的内容吗? 我想用matlab实现它 有人给我一些建议吗? csie.ntu.edu.tw/~cjlin/libsvm/#matlab 【参考方案1】:要进行SVM分类,请使用libsvm。
一个好的入门教程是:https://sites.google.com/site/kittipat/libsvm_matlab
交叉验证参考Matlab代码:
Example of 10-fold SVM classification in MATLAB
Retraining after Cross Validation with libsvm
在 MATLAB 上安装 LibSVM:http://www.youtube.com/watch?v=Wz_4h_bH7-c
【讨论】:
使用“Microsoft Visual C++ 2013 Professional”构建。找不到 C:\D 磁盘\MATLAB\R2014a\libsvm-3.18\matlab\svmtrain.exp 找不到 C:\D 磁盘\MATLAB\R2014a\libsvm-3.18\matlab\svmtrain.exp MEX 成功完成。跨度> 找不到 svmtrain.exp 当我尝试加载 s_matrix groups = ismember(s_matrix,'setosa');它显示如下错误:Error using horzcat Dimensions of matrix being concatenated are not compatible. 如何解决这个问题?我按照这个网站上的步骤:***.com/questions/3070789/… 当我使用这个时:svmModel = svmtrain(meas(trainIdx,:),group(trainIdx),'Autoscale',true,... 错误显示:“undefined variable meas” 如何修复这个问题?以上是关于如何进行交叉验证 SVM 分类器的主要内容,如果未能解决你的问题,请参考以下文章