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

📄 decisiontree.h

📁 c4.5决策树的实现,应用于一个医学诊断
💻 H
字号:
#include <iostream.h>
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <fstream.h>
#include "Node.h"

class DecisionTree()
{
private:
	Node* root;
	int numOfIns;    //样本数目
    int numOfAttr;   //属性树目
	double** trainingSet;  //训练集
	double* weight;
	int* used;  //记录已经作为分类依据使用过的属性
	int numOfNodes;  //记录已生成树的结点数

public:
    DecisionTree(); //done
	virtual ~DecisionTree();  //done
	void BuildTree();
	Node* GenerateTree(int start,int end,double** trainingSet);   //生成决策树  添加控制结点数目的判断和结点包含样本数的判断  加入权值  
	int Count(int attribute,int start,int end,double** trainingSet);  //计算trainingset样本start到end中属性attribute值的数目 done
	//double Entropy(int attribute, int start,int end,double** trainingSet);    //熵    done
	//double Gain(int attribute,int start,int end, double** trainingSet);       //信息增益 done    
	double SplitInfo(int attribute, int start,int end,double** trainingSet); //分裂信息   done  
	double GainRatio(int attribute, int start,int end,double** trainingSet);  //增益比率 done
	void sort(int attribute,int start,int end,double** trainingSet);//将样本按属性值排序  done
	Node* GetRoot();//done
	int GetnumOfIns();//done
	int GetnumOfAttr();//done
	int GetnumOfNodes();
	void SetnumOfIns(int numOfIns);
	void SetnumOfAttr(int numOfAttr);
	void DeleteTree(Node* root);//done
	double ClassifyIns(double* instance);//用决策树对样本分类
	void SaveTree(ofstream& fout,Node* node);//保存生成的树
	void SaveTree(char* fname);//保存生成的树
	Node* LoadNode(ifstream& fin);//读入结点
	void LoadTree(char* fname);//读入树
	void ShowTree(Node* node);
}


⌨️ 快捷键说明

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