svm.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef _LIBSVM_H
00035 #define _LIBSVM_H
00036
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040
00041 struct svm_node
00042 {
00043 int index;
00044 double value;
00045 };
00046
00047 struct svm_problem
00048 {
00049 int l;
00050 double *y;
00051 struct svm_node **x;
00052 };
00053
00054 enum { C_SVC, NU_SVC, ONE_CLASS, EPSILON_SVR, NU_SVR };
00055 enum { LINEAR, POLY, RBF, SIGMOID, PRECOMPUTED };
00056
00057 struct svm_parameter
00058 {
00059 int svm_type;
00060 int kernel_type;
00061 int degree;
00062 double gamma;
00063 double coef0;
00064
00065
00066 double cache_size;
00067 double eps;
00068 double C;
00069 int nr_weight;
00070 int *weight_label;
00071 double* weight;
00072 double nu;
00073 double p;
00074 int shrinking;
00075 int probability;
00076 };
00077
00078 struct svm_model *svm_train(const struct svm_problem *prob, const struct svm_parameter *param);
00079 void svm_cross_validation(const struct svm_problem *prob, const struct svm_parameter *param, int nr_fold, double *target);
00080
00081 int svm_save_model(const char *model_file_name, const struct svm_model *model);
00082 struct svm_model *svm_load_model(const char *model_file_name);
00083
00084 int svm_get_svm_type(const struct svm_model *model);
00085 int svm_get_nr_class(const struct svm_model *model);
00086 void svm_get_labels(const struct svm_model *model, int *label);
00087 double svm_get_svr_probability(const struct svm_model *model);
00088
00089 void svm_predict_values(const struct svm_model *model, const struct svm_node *x, double* dec_values);
00090 double svm_predict(const struct svm_model *model, const struct svm_node *x);
00091 double svm_predict_probability(const struct svm_model *model, const struct svm_node *x, double* prob_estimates);
00092
00093 void svm_destroy_model(struct svm_model *model);
00094 void svm_destroy_param(struct svm_parameter *param);
00095
00096 const char *svm_check_parameter(const struct svm_problem *prob, const struct svm_parameter *param);
00097 int svm_check_probability_model(const struct svm_model *model);
00098
00099 #ifdef __cplusplus
00100 }
00101 #endif
00102
00103 #endif