📄 rtr.h
字号:
// Rtr.h: interface for the Rtr class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_RTR_H__D5847115_7C7A_11D7_BFF0_000AEB107F47__INCLUDED_)
#define AFX_RTR_H__D5847115_7C7A_11D7_BFF0_000AEB107F47__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <afxtempl.h>
class Rtr
{
public:
Rtr();
virtual ~Rtr();
protected:
char* DataStyle; //数据集的类型(训练集or测试集)
int DataState; //数据集的状态(0表示未处理,1表示经过补齐,2表示经过离散化,依此类推)
int NumOfAttribute; //属性数目(决策+条件)
long NumOfRecord; //记录数目
int NumOfRule; //规则数目
int NumOfRuleAttr; //规则的条件属性数
char** NameOfAttribute; //属性名称
char** TypeOfAttribute; //属性类型
int** InfTable; //属性表
int** Rule; //规则集
int* RuleSupport; //每条规则的支持度
int* RuleCover; //每条规则的覆盖度
double* RuleConf; //每条规则的可信度,及上面两者的比值
int* RuleCondition; //每条规则的状态,1表示保留,0表示被合并
//可辨识矩阵
int*** DiffMatrix;
int* AttributeReductResult; //属性约简结果,1表示保留,0表示约去
int NumOfReduct; //属性约简后的个数
CArray<int,int&> CoreAttribute; //核属性
CArray<int,int&> PosOfAttr; //全体条件属性的正域
double ExpClassifyPre; //预期的近似分类精度
int* NumOfMissAttribute; //每个属性的遗失属性值的记录个数
CArray<int,int&>* DecClass; //决策类
int NumOfDecClass; //决策类的个数
int* OrderOfAttribute; //属性重要性的顺序
double* ImpOfAttribute; //每个属性的重要性
protected:
int* Marry;
//计算每个属性的遗失属性值的记录个数
BOOL ComputerMissNum();
//执行属性约简
BOOL AttributeReduct();
//记录合并(除去重复的记录)
BOOL RecordCombine();
//判断记录i和记录j在属性集a上是否具有限制容差关系,Number表示属性集中属性的个数
BOOL JudgeRelation(int i,int j,int *a,int Number);
//计算近似分类精度
BOOL ComputerClassifyPre(int *a,int Number,double& result);
//计算决策类
BOOL ComputerDecClass();
//判断集合a是否不包含于集合b之中
BOOL Contain(CArray<int,int&>& a,CArray<int,int&>& b);
//判断集合A和集合B是否完全相同
BOOL IsSame(CArray<int,int&>& a,int *b);
//计算正域
BOOL ComputerPos(int* Set,int NumOfSet,CArray<int,int&>& Pos);
//判断两个集合时候相等
BOOL IsEqual(CArray<int,int&>& PosOfAttr,CArray<int,int&>& Pos);
//从候选集中找出属性重要性最重要的属性
BOOL FindImp(int* Candi,int CountOfCandi,int* Reduct,int CountOfReduct,int& Result);
//释放生成规则过程中所占内存
void DeleteMemory();
public:
bool WriteTable2(CString filesave);
bool WriteTable1(CString filesave);
//将处理结果保存到文件 识别结果
//整个算法的执行
void Performance();
//读取规则集
BOOL ReadRule(CString filename);
//测试数据
BOOL TestData(CString filename);
//识别数据
BOOL DisData(CString filename);
//从文件中读取决策表的信息,正确返回TRUE,错误返回FALSE
BOOL ReadTable(CString filename);
//将处理结果保存到文件 规则
BOOL WriteTable(CString filename);
};
#endif // !defined(AFX_RTR_H__D5847115_7C7A_11D7_BFF0_000AEB107F47__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -