决策树是一种用于分类 / 回归的机器学习算法,基于树结构来进行决策。一棵决策树包含根结点、内部结点和叶结点。根结点包含样本全集,内部结点对应属性,叶结点对应决策结果。
伪代码
1 | # 输入:训练集:D={(x_1,y_1),(x_2,y_2),...,(x_m,y_m)} ,属性集:A={a_1,a_2,...,a_d} |
划分选择
信息增益(ID3 决策树算法)
表示信息熵,是度量样本集合纯度最常用的一种指标。信息熵越小,集合纯度越高。 表示信息增益。信息增益越大,意味着使用属性 来进行划分所获得的集合纯度越高。缺点:信息增益对可取值数目较多的属性有所偏好。
增益率(C4.5 决策树算法)
称为 的固有值, 的取值数目越多, 越大。 表示增益率,增益率越大,集合纯度越高。缺点:增益率对可取值数目较少的属性有所偏好。(C4.5 算法没有直接使用增益率,而是先从候选属性中找出信息增益大于平均值的属性,再从中找出增益率最高的作为最优化分属性,这是一种折中)
基尼指数(CART 决策树算法)
表示基尼指数, 表示属性 的基尼指数。基尼指数越小,集合纯度越高。
剪枝
剪枝是决策树算法处理过拟合问题的主要手段。分为预剪枝和后剪枝,预剪枝是在树的生成过程中进行剪枝,后剪枝是生成决策树之后再进行剪枝。剪枝的方法是判断剪枝前后模型的泛化能力是否有提升,泛化能力的度量即为性能评估方法,如准确率等。