我是在安装SVM的工具箱时遇到的这个错误,因为libsvm的路径未设置正确。而且在MATLAB中也有一样的支持向量机的函数包。所以这里的代码会自动认为是用MATLAB的.m文件。
- 首先,你要下载好SVM的文件夹。
下载地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/
当前版本时libsvm-3.20, 压缩包中包含了matlab,python 和java等版本的接口。本文主要利用了matlab的版本。
下载好之后,第二个问题来了,里面的文件都是C,C++的脚本。所以MATLAB编译不了。这时候你就需要给MATLAB添加一个编译器。
2.下载编译器,及安装
下载地址:http://tdm-gcc.tdragon.net/download 我是跳了最新的下载。随便挑一个就行。
下载之后安装,注意:要安装到c盘根目录下,这个安装比较耗时间,会等比较久。
安装在C盘之后,设置好环境变量
3.设置环境变量
首先右键“此电脑”,在“更多”里面选择“属性”
然后在打开的系统面板里选择高级系统设置
在打开的选项卡里面选择环境变量
接着在系统变量里面点击新建,变量名为MW_MINGW64_LOC,变量值为C:\TDM-GCC-64(此处路径针对安装的路径)
然后一路点击确定,之后重启你的matlab。
4.最后一步:编译
解压上述的压缩包,并将matlab的当前目录切换到文件家中的matlab文件夹下。
首先配置编译器,在matlab命令窗口中输入
mex –setup
接着运行
make
这里一定要将matlab的工作目录切换到libsvm-3.20/matlab/ 下,这地方make运行了make.m并且生成相应版本的libsvm文件。
libsvmread.mexa64 svmtrain.mexa64 svmpredict.mexa64 libsvmwrite.mexa64
如果上述运行成功,说明libsvm成功编译,这里为了方便使用需要设置一下搜索路径。很多人会在编译后直接设置路径,这里个人先确保了libsvm能够使用后又设置的libsvm的工具路径。找到主页上的设置路径。
把libsvm放在这个路径之上就可以了。