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

📄 seminaive.h

📁 某个实验事编写粗糙集智能信息处理的程序
💻 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 + -