📄 indval.h
字号:
#include "stdio.h"
#include "../shareclass.h"
//归纳属性约简类
class IndValRed
{
public:
////读入约简的属性集合
int *atb;//指针数组
int atbcount;//约简掉的属性数
char* pFileName; //待处理的文件名
int **pIntTable; //原始表,为int类型,中间对象,转化为info表,最后处理用到
int **pInfo; //原始表,已转化为int,处理中主要对象,约简对象
char *cStyle; //数据集基本类型
int iStage; //处理的进度标志
int iConNum; //条件属性数,总属性数为con_num+1
int iRecNum; //记录数,约简对象
int ipriRecNum; //记录数,原始结果
char **pAttName; //属性名称(安列分)
char **pDataType; //数据类型(安列分)
struct WCutRecord *struWCutRecord;//断点链表
int **pUindD; //u|d
int iClassUindDNum; //u|d中决策类的个数
int **pRules; //规则集
int iRulesNum; //规则总条数
int *pSameRec; //每条规则能覆盖的记录数
PosD* pNoValCon; //被约掉的条件属性
int max1;//
public:
//methods discrible
bool SetIntegerTable(FILE *fp,int column, int row); //设置整形原始数据表
bool SetCutResult(FILE* fp); //将断点读入到WCutRecord链表中
bool SetDataType(FILE* fp,int count); //将数据类型读入datatype表中
bool SetAttName(FILE* fp,int count); //将属性名称读入attname表中
bool GetInfo(char* FileName); //从文件中得到数据,得到int型表
bool InitTable(); //初始化表
int DelOverlap(); //删除信息表中的重复项
bool SaveFile(char* pFileName); //保存约简到文件
bool PosXD(int XNum,int* XSet,PosD* PosXD); //安定义求Pos d(x),结果放在PosXD中,
void UindX(int XNum,int* XSet,int& iClassNumX,int**&UindX);//求Unid(X);
bool DemSet(int XNum,int DemNum,int& iDemSetNum,int XCoreNum,int*** pDemSet); //求CoreCD的Xnum阶幂集,用递归算法
void FreeContent(); //释放空间
void CoreDx(int iRecNo,PosD* RuleCoreVal); //求规则dx的核值属性类
void CoreY(PosD* RuleClass,PosD* AdvCoreVal); //求决策类的核值属性集
void UindCoreVal(int iRecNo,PosD* &CoreValSet,PosD* &UindCoreValX); //求[x]core(dx)
void FindSameRec(); //求每条规则能覆盖的记录数
bool MinRules(); //最小决策算法
bool OrderCoreA(PosD* CoreA1,PosD* CoreA2,PosD* &CoreA); //由测度函数得有序集OA-->CoreA
void SetNoValCon(); //求被约掉的条件属性
public:
bool myindvalred();
//constrution and destrution
IndValRed();
virtual ~IndValRed();
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -