⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reduct3.h

📁 某个实验事编写粗糙集智能信息处理的程序
💻 H
字号:
// Reduct3.h: interface for the CReduct3 class.
//算法见书:142页
/*-------------------------------------------------------------
	文件名: reduct3.h
	特征选择属性约简头文件
	作者: Kylin Li
	创建时间: 2000/12

  	2001.11.10 修改
		1. 修改3个主要成员函数的可见性,把InitTable(),recudt(),
		   WriteFile() 由public改为 protected
		
----------------------------------------------------------------*/
#if !defined(AFX_REDUCT3_H__BC8A9921_CF9A_11D4_B00D_0080C84A0D59__INCLUDED_)
#define AFX_REDUCT3_H__BC8A9921_CF9A_11D4_B00D_0080C84A0D59__INCLUDED_
#include "Table.h"
#include "InfoTable.h"
#include "Set.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


class CReduct3 :public CTable
{
public:
	CReduct3();
	virtual ~CReduct3();

protected:
	bool InitTable(CString txtname);		//初始化数据表
	bool reduct();
 	bool WriteFile(CString txtname);

#ifdef _DEBUG						//一个临时函数,往集合的子集中添加元素
	void output();					//输出,为调试用
#endif //_DEBUG

private:
	InfoTable *InfoK;						//存放每个属性值的信息容量
	CSet<CSet<int> > devset;  //保存所有的决策分类
	double getVD(int attr,int i,int j);		//获取值差(属性attr,样本i,j)
	double getWFD(int i,int j,int KK);		//样本i和j之间的加权特征差
	int getK(void); //计算条件属性和决策属性的相关程度,只计算了
	//正域的部分占全域的比例		计算相关程度(噪音程度为0)
	double getCM(int k);					// 属性k的上下文价值

	void InitInfoK();//求得各属性的信息容量用以填充infoK中的内容

	
//根据属性AttrIndex分类,分类集合为set,每个类有一个标号用AttrIndex属性值表示,
//类内的元素为纪录号.例如某个类标号为2,类内的元素包括3,5,6,
	//则说明第3,5,6条记录的AttrIndex属性值为2
	void Classify(int AttrIndex,CSet<CSet<int> >& set);

	//根据用户选择的条件属性对决策表进行分类,得到条件分类集合保存在set中
	bool ClassifyAttr(CSet<CSet<int> >& set);
};

#endif // !defined(AFX_REDUCT3_H__BC8A9921_CF9A_11D4_B00D_0080C84A0D59__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -