libsvm函数库使用说明

2014-11-23 23:38:08 · 作者: · 浏览: 0

本文大部分来自Felomeng的翻译,原文是aspx">《Felomeng翻译:libsvm2.88之函数库的使用》

2.88版本的README文件和libsvm3.0的README文件差不多,3.0版本的README见这里: http://sdudata.appspot.com/4001-libsvm3.0_README

Library Usage
=============

这些函数和结构都在头文件“svm.h”中有声名。你需要在你的C/C++源文件中添加#include “svm.h”语句,在连接时需要将你的程序与svm.cpp连接。具体使用方法可以参考“svm-train.c”和“svm-predict.c”的使用示例。在文件svm.h中使用LIBSVM_VERSION定义了版本号,以便读者查阅。

在对测试数据进行分类之前,需要先使用训练数据建立一个支持向量模型。模型可以以文件的形式存储以备以后使用。一旦建立好了支持向量机模型,就可以用它来对新的数据进行分类了。

-函数:struct svm_model *svm_train(const struct svm_problem *prob, const struct svm_parameter *param);

这个函数根据给定的参数和训练数 据构建并返回一个支持向量机模型。

结构体svm_problem将问题形式化:

struct svm_problem

{

int l;

double *y;

struct svm_node **x;

};

其中“l”表示训练数据的实例数,而“y”是一个数组,用于存放它们的目标值。(类型值用整型数据,回归值用实数)“x”是一个数组指针,每一个指针指向一个稀疏的训练向量(即一个svm_node数组)。

例如,如果我们有如下的训练数 据:

LABEL ATTR1 ATTR2 ATTR3 ATTR4 ATTR5

----- ----- ----- ----- ----- -----

&nbs