📄 decisiontree.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 + -