SVMUtil.h 851 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #pragma once
  2. struct svm_problem;
  3. struct svm_node;
  4. struct svm_parameter;
  5. struct svm_model;
  6. class CParameterSearch;
  7. #include <string>
  8. #define Malloc(type,n) (type *)malloc((n)*sizeof(type))
  9. class SVMUtil
  10. {
  11. public:
  12. SVMUtil();
  13. ~SVMUtil();
  14. svm_problem* ParseTrainingFile(std::string strFilename);
  15. bool ParameterSearch( svm_parameter* pSvmParam, std::string strFilename);
  16. bool ScaleNode(svm_node*);
  17. bool CrossValidate(int nFolds, svm_parameter*);
  18. bool Load(std::string);
  19. bool Save(std::string);
  20. svm_model* m_pModel;
  21. private:
  22. bool ScaleTrainingData();
  23. bool DetermineScaleFactors();
  24. bool SaveSearch(const CParameterSearch* p_Search);
  25. void SaveScaleFactors(std::string);
  26. bool LoadScaleFactors(std::string);
  27. svm_problem* m_pProblem;
  28. double* m_pScaleFactors;
  29. int m_nParams;
  30. };