libsvm中svm.h文件主要定义整个程序要用的结构体svm_node,svm_problem,svm_parameter和一些方法。
1.svm_problem用于存储本次参加运算的所有样本(数据集),及其所属类别。
struct svm_problem
{
int l; //记录样本总数
double *y; //指向样本所属类别的数组。
struct svm_node **x; //指向一个存储内容为指针的数组
};
如果你的数据的形式如下所示:(libsvm只支持数值型的数据,最后一维表示所属类别)
125,256,6000,256,16,128,1
29,8000,32000,32,8,32,2
29,8000,32000,32,8,32,3
29,8000,32000,32,8,32,1
29,8000,16000,32,8,16,3
对应的svm_problem的参数:
int l=5,即样本总数;
double *y ={1.0, 2.0, 3.0, 1.0, 3.0