📄 seminaive.h
字号:
// SemiNaiveDoc.h: interface for the CSemiNaiveDoc class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SEMINAIVEDOC_H__1BBBDCA1_00EE_11D4_A665_0080C8E242DA__INCLUDED_)
#define AFX_SEMINAIVEDOC_H__1BBBDCA1_00EE_11D4_A665_0080C8E242DA__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifndef MAX
#define MAX 20
#endif
class CSemiNaive //Naive的算法原代码
{
public:
BOOL ReadDataFromFile(char *filename);//从文件中读取决策表的所有信息
char** pDataType;//存放表中属性的类型
char** pAttName; //存放表中的属性名
char*** pStringTable;//存放表中的属性值,以字符串的形式
int iRecordNum; //存放表中的记录数
char*** pStrResult;
float** pNonStringTable;//存放非字符串属性值
int** pStringTableResult;
int iAttNum,iStrAttNum,iNonStrAttNum;//存放表中条件属性的数目
void OnSemiNaivedisSave(LPCTSTR lpszPathName);//保存离散化后的结果,包括离散化后的决策表和所选取的断点集
void GetNewTable();//根据所产生的断点集得到离散化后的决策表并存入NewTable中
void GetCut();//计算出每个属性的断点,并保存在cut数组中,cut[i][0]保存了第i个属性的断点个数
void GetMidCut();//把每个属性上出现的不同的值存入MidCut数组中,并按从小到大的顺序进行排序
BOOL OnSemiNaivedis();
void doString();// 处理字符串类型数据
CSemiNaive();
virtual ~CSemiNaive();
int GetDeciNum(); //返回决策属性值中出现不同值个数
float* GetDeciValue(); //返回一个数组,保存了决策属性值中出现不同值
private:
BOOL readAttrInfo(FILE* fp); //将属性名称读入pAttName中,数据类型读入pDataType中
BOOL readTable(FILE* fp); //将字符值读入pStringTable中,非字符串值读入pNonStringTable中
float **MidCut;//存放每个属性出现的不同属性值
float **Cut;//存放断点,cut[i][0]中存放第个属性的断点个数
int **NewTable; //存放离散化后的决策表
char cStyle[10];
int iStage;
int* strCuts; //字符串属性断点个数
};
#endif // !defined(AFX_SEMINAIVEDOC_H__1BBBDCA1_00EE_11D4_A665_0080C8E242DA__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -