CLASSIFIERPARAM.H
上传用户:sanxfzhen
上传日期:2014-12-28
资源大小:2324k
文件大小:3k
源码类别:

多国语言处理

开发平台:

Visual C++

  1. // ClassifierParam.h: interface for the CClassifierParam class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_CLASSIFIERPARAM_H__2EB59D01_DED9_11D3_A70C_B0BCFB5CF9A2__INCLUDED_)
  5. #define AFX_CLASSIFIERPARAM_H__2EB59D01_DED9_11D3_A70C_B0BCFB5CF9A2__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. class CClassifierParam  
  10. {
  11. public:
  12. CClassifierParam();
  13. virtual ~CClassifierParam();
  14. void DumpToFile(CString strFileName);
  15. bool GetFromFile(CString strFileName);
  16. private:
  17. void Serialize(CArchive &ar);
  18. public:    //训练时需要使用的参数
  19. CString m_txtTrainDir;
  20. CString m_txtResultDir;
  21. int m_nFSMode;        //特征评估函数
  22. int     m_nWordSize;      //特征数目
  23. int     m_nSelMode;       //全局打分还是按类别打分计算特征的区分度
  24. int     m_nOpMode;        //计算概率的方式
  25. int     m_nLanguageType;  //文档的语种
  26. BOOL    m_bStem;          //是否进行词干抽取
  27. int     m_nWeightMode;    //特征加权的方法
  28. public:    //分类时需要使用的参数
  29. int m_nClassifyType;              //0  单类分类; 1 多类分类
  30. BOOL m_bEvaluation;               //是否需要对测试结果进行评价
  31. BOOL m_bCopyFiles;                //是否将分好类的文件拷贝到结果目录下
  32. CString m_strTestDir;             //测试文档或其所在的目录
  33. CString m_strResultDir;           //测试结果所在的目录
  34. CString m_strModelFile;
  35. int m_nKNN;                       //KNN算法的k值
  36. int m_nDocFormat;                 //测试文档的格式
  37. double m_dThreshold;              //多类分类时使用的阈值
  38. int m_nClassifierType;            //分类器的类型: -1 未知, 0 代表KNN, 1 代表SVM, 2 代表BAYES
  39. public:
  40. void GetParamString(CString &strParam);
  41. // calculation model
  42. static const int nOpDocMode;      // based on document number model
  43. static const int nOpWordMode;     // based on word number model
  44. // feature evaluation fuction
  45. static const int nFS_IGMode;      // Information gain feature selection
  46. static const int nFS_MIMode;      // Mutual Informaiton feature selection
  47. static const int nFS_CEMode;      // Cross Entropy for text feature selection
  48. static const int nFS_X2Mode;      // X^2 Statistics feature selection
  49. static const int nFS_WEMode;      // Weight of Evielence for text feature selection
  50. static const int nFS_XXMode;      // Right half of IG
  51. // how to select features
  52. static const int nFSM_GolbalMode;  // 全局选
  53. static const int nFSM_IndividualModel; // 单独选
  54. // classifier type
  55. static const int nCT_Unknown;     // Unknown
  56. static const int nCT_KNN;         // KNN
  57. static const int nCT_SVM;         // SVM
  58. static const int nCT_BAYES;   // BAYES
  59. // document language type
  60. static const int nLT_Chinese;     // Chinese
  61. static const int nLT_English;     // English
  62. // document format
  63. static const int nDF_Directory;   // Directory
  64. static const int nDF_Smart;       // Smart
  65. // classify type
  66. static const int nFT_Single;      // Single Classification
  67. static const int nFT_Multi;       // Multiple Classification
  68. // weight mode
  69. static const int nWM_TF_IDF;      // TF*IDF
  70. static const int nWM_TF_DIFF;     // TF*DIFF
  71. static const int nWM_TF_IDF_DIFF; // TF*IDF*DIFF
  72. };
  73. #endif // !defined(AFX_CLASSIFIERPARAM_H__2EB59D01_DED9_11D3_A70C_B0BCFB5CF9A2__INCLUDED_)