刚开始学习《机器学习》,写了一个小算法,需要Large-scale数据跑一下程序,就从LIBSVM(https://www.csie.ntu.edu.tw/~cjlin/libsvm/)上拿了一些数据,小白遇到了一些问题,下面就此详细的写一下问题解决过程。如有错误,欢迎指出。
目录
- LIBSVM数据格式
- 数据预处理/归一化
下载LIBSVM - 将livsvm格式的数据转化为Matlab可读文件
3.1 解决错误使用mex未找到支持的编译器或SDK问题
3.2 使用libsvmread转化数据格式
1.LIBSVM数据格式
LIBSVM文件中的数据一般给的是:
[label] [index1]:[value1] [index2]:[value2] ....
Label 是类(class)
index 是索引,按照升序排列
value 是特征值
具体拿libsvm默认的数据heart做演示:
2.数据预处理/归一化
进行缩放的原因和使用神经网络时的考虑是一样的,由于RBF网络中采用样本数据的欧式距离来计算。主要优点就是避免数值范围较大的属性控制数值范围较小的属性。另一个优点就是避免计算时的numerical difficulties,也有利于提高准确率和速率,一般是将数据缩放至[-1,1]。
下载LIBSVM
参考博文:https://blog.csdn.net/yushupan/article/details/78998128
①下载地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 下载最新版本的LIBSVM 3.23,将下载的安装包解压至"