这段代码是构建决策树的函数。首先判断是否满足终止递归条件,如果不满足则选择特征值进行数据集分割,并统计子数据集。如果某个子数据集非空,则新建子节点并递归处理该子数据集;如果某个子数据集为空,则新建子节点但不递归。在递归处理完子数据集后,需要回溯到父节点。其中,有一个阈值MIN可以用来控制递归的深度,但是当前代码中被注释掉了。同时,还可以选择ID3、C45、Gini三种方法来计算特征值的信息增益。

#define MIN 5void TreeBuild_TreeDATA data 	if count == 0 dataDatasize==dataT dataDatasize == dataF 终止递归条件		if dataT dataFnow-label = 1;		else now-label = -1;		return;		if dataDatasize MIN 使用阈值终止递

原文地址: https://www.cveoy.top/t/topic/e9HC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录