![](https://csdnimg.cn/release/download_crawler_static/6969311/bg6.jpg)
上海交通大学模式分析与机器智能实验室
//以下接口函数设计得非常合理,最后一节详细说明
//最主要的驱动函数,训练数据
struct svm_model *svm_train(const struct svm_problem *prob, const struct svm_parameter *param);
//用SVM做交叉验证
void svm_cross_validation(const struct svm_problem *prob, const struct svm_parameter *param, int
nr_fold, double *target);
//保存训练好的模型到文件
int svm_save_model(const char *model_file_name, const struct svm_model *model);
//从文件中把训练好的模型读到内存中
struct svm_model *svm_load_model(const char *model_file_name);
//
int svm_get_svm_type(
const struct svm_model *model);
//得到数据集的类别数(必须经过训练得到模型后才可以用)
int svm_get_nr_class(const struct svm_model *model);
//得到数据集的类别标号(必须经过训练得到模型后才可以用)
void svm_get_labels(const struct svm_model *model, int *label);
//LibSvm2.6新增函数
double svm_get_svr_probability(const struct svm_model *model);
//用训练好的模型预报样本的值,输出结果保留到数组中。(并非接口函数)
void svm_predict_values(const struct svm_model *model, const struct svm_node *x, double*
dec_values);
//预报某一样本的值
double svm_predict(const struct svm_model *model, const struct svm_node *x);
// LibSvm2.6新增函数
double svm_predict_probability(const struct svm_model *model, const struct svm_node *x, double*
prob_estimates);
//消除训练的模型,释放资源
void svm_destroy_model(struct svm_model *model);
// LibSvm2.6新增函数
void svm_destroy_param(struct svm_parameter *param);
//检查输入的参数,保证后面的训练能正常进行。