svm.h
上传用户:xgw_05
上传日期:2014-12-08
资源大小:2726k
文件大小:1k
源码类别:

.net编程

开发平台:

Java

  1. #ifndef _LIBSVM_H
  2. #define _LIBSVM_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. struct svm_node
  7. {
  8. int index;
  9. double value;
  10. };
  11. struct svm_problem
  12. {
  13. int l;
  14. double *y;
  15. struct svm_node **x;
  16. };
  17. enum { C_SVC, NU_SVC, ONE_CLASS, EPSILON_SVR, NU_SVR }; /* svm_type */
  18. enum { LINEAR, POLY, RBF, SIGMOID }; /* kernel_type */
  19. struct svm_parameter
  20. {
  21. int svm_type;
  22. int kernel_type;
  23. double degree; // for poly
  24. double gamma; // for poly/rbf/sigmoid
  25. double coef0; // for poly/sigmoid
  26. // these are for training only
  27. double cache_size; // in MB
  28. double eps; // stopping criteria
  29. double C; // for C_SVC, EPSILON_SVR and NU_SVR
  30. int nr_weight; // for C_SVC
  31. int *weight_label; // for C_SVC
  32. double* weight; // for C_SVC
  33. double nu; // for NU_SVC, ONE_CLASS, and NU_SVR
  34. double p; // for EPSILON_SVR
  35. int shrinking; // use the shrinking heuristics
  36. };
  37. struct svm_model *svm_train(const struct svm_problem *prob,
  38.     const struct svm_parameter *param);
  39. int svm_save_model(const char *model_file_name, const struct svm_model *model);
  40. struct svm_model *svm_load_model(const char *model_file_name);
  41. double svm_predict(const struct svm_model *model, const struct svm_node *x);
  42. void svm_destroy_model(struct svm_model *model);
  43. #ifdef __cplusplus
  44. }
  45. #endif
  46. #endif /* _LIBSVM_H */