📖 本章概要
决策树是一种基于树形结构的分类算法,通过递归二分法将数据划分为不同区域。 本章介绍决策树的树形结构、信息熵、信息增益、基尼指数等核心概念,并通过鸢尾花分类实战展示如何使用决策树进行分类。
决策树:可以分类,也可以回归
Decision Tree • 图1-3
决策树类似二叉树结构,由根节点、内部节点和叶节点构成。 每个节点根据某个特征的阈值进行二分划分,形成左右子树。 通过控制最大叶节点数或最大深度可以进行剪枝,避免过拟合。
信息熵:不确定性度量
Information Entropy • 公式1-6 • 图4
信息熵起源于热力学,由香农(1948)引入信息论,用于度量随机变量的不确定性。 对于二分类问题,Ent(Ω) = -p log₂(p) - (1-p) log₂(1-p)。 信息熵越大,数据越混乱;信息熵越小,数据纯度越高。在p=0.5时熵最大。
信息增益:通过划分,提高确定度
Information Gain • 公式7-16 • 图5
信息增益量化划分前后信息熵的变化:Gain(Ω, a) = Ent(Ω) - Ent(Ω, a)。 划分后的熵是各子集熵的加权和。决策树选择能最大化信息增益的特征和阈值进行划分, 使得划分后的子集更加"纯净",不确定性降低。
基尼指数:指数越大,不确定性越高
Gini Index • 公式17-18 • 图6
基尼指数是另一种衡量数据集纯度的指标:Gini(Ω) = 1 - Σp²ᵢ。 对于二分类,Gini(Ω) = 2p(1-p)。基尼指数与信息熵作用相似,但计算更简单, 不涉及对数运算。sklearn默认使用Gini指数作为决策树划分标准。
鸢尾花分类实战
Iris Classification • 最大叶节点数 • 最大深度 • 图7-15
使用sklearn的DecisionTreeClassifier对鸢尾花数据进行分类。 通过调节max_leaf_nodes(最大叶节点数)或max_depth(最大深度) 可以控制树的复杂度,实现剪枝,避免过拟合。 图7-10展示不同叶节点数的效果,图12-15展示不同深度的效果。
🎓 本章总结