win10+matalb2015b+MinGW+libsvm实现数据多分类+预测

 2017-4-19

明天就是周汇报,折腾了一天,终于折腾清楚了libsvm在我这个平台(win10+matlab2015b+MinGW)下的使用,并成功用libsvm进行了数据的分类及预测。以后把每天的心得体会都放到博客里,免得自己回头又重新找。

1、libsvm网站链接

libsvm库下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/

2、安装步骤

  • 下载安装matlab,这个网上有很多教程,例:https://jingyan.baidu.com/article/eae07827a466a31fed548563.html,故在此不详细赘述。
  • 在matlab里导入libsvm,ENVIRONMENT>Set Path>Add With Subfolders>自己的libsvm目录(打开libsvm文件夹)>Save。
  • 在current folder里打开libsvm文件夹,至/matlab子文件夹下,可尝试直接进行make命令进行编译。
  • 如果make不成功,则需配置编译器,我的matlab无法连接任何编译器,最后按照教程提示一步步安装好了MinGW,会在后面遇到的问题中说明。
  • 在编译完成之后,即可进行libsvm的测试: 

 

在libsvm的目录下输入以下代码:

[heart_scale_label,heart_scale_inst]=libsvmread('heart_scale');
model = svmtrain(heart_scale_label,heart_scale_inst);
[predict_label, accuracy, dec_values] =svmpredict(heart_scale_label, heart_scale_inst, model)
  • 如果可正常输出accyracy等值,即可证明libsvm已经安装成功。

3、使用libsvm进行数据多分类和预测

在这里主要说明下数据准备工作,关于归一化我是用vba代码直接生成的,当然也可以直接在matlab里进行操作。

主要问题在于分类标签一定要为整数!!!如(-1、0、1、2等)。

其他具体的步骤和调参要根据具体的数据特性酌情选取和确定,在此不多作说明。

4、遇到的主要问题——matlab没有编译器

主要是两个问题:(1)如何安装MinGW(最后一步老失败)?(2)安装成功之后如何解决GCC目录报错?

(1)需要将上图所示5个压缩文件下载完整再进行安装,我是直接去matlab的官方技术论坛找的,详细链接以后附上。

(2)可以将报错地方(即make文件13行的)CFLAGS改为COMPFLAGS完成8楚替换,即可完成编译。

 

参考网址:

 

posted on 2017-04-19 23:58  Eoman  阅读(898)  评论(0编辑  收藏  举报

导航