编译错误:从CSV转换为Libsvm格式

时间:2016-06-19 16:43:31

标签: c++ c matlab csv libsvm

我正在尝试使用matlab目录中的 Libsvmwrite.c 文件将àCSS训练集转换为Libsvm格式。
在编译期间,我收到了这个错误:
bestmod@hadoopmaster:~/Downloads/libsvm-3.21/matlab$ gcc '/home/bestmod/Downloads/libsvm-3.21/matlab/libsvmwrite.c' /home/bestmod/Downloads/libsvm-3.21/matlab/libsvmwrite.c: In function ‘libsvmwrite’: /home/bestmod/Downloads/libsvm-3.21/matlab/libsvmwrite.c:29:2: error: unknown type name ‘mwIndex’ mwIndex *ir, *jc, k, low, high;
我检查了很好的代码,但它没有问题。

有人对这个问题有所了解吗? 此致

1 个答案:

答案 0 :(得分:0)

好的

这是我的情况:
我从UCI下载了数据集(培训和测试集),这里是链接:
http://archive.ics.uci.edu/ml/machine-learning-databases/adult/
我将adult.data和adult.test的扩展名更改为CSV 然后我使用了我从Libsvm网页获得的libsvm包

此外,我使用libsvm软件包跟踪了常见问题解答(如何将其他数据格式转换为Libsvm格式)的答案:
https://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html#f307

在解压缩的libsvm目录中:
在matalb目录中编译 libsvmwrite.c 期间,它需要三个 h 文件 mex.h matrix.h ,和 tmwtypes.h ,以解决其他一些编译问题。

之后,我得到了上面提到的问题 在 libsvmwrite.c 中,我发现mwIndex在定义时没有问题:

typedef int mwIndex;

就是这样,我希望我的解释清楚,我感谢你的帮助。