机器学习分类器巡礼:使用scikit-learn
1. 决策树学习
决策树分类器在注重可解释性的场景中很有吸引力。它通过一系列问题对数据进行划分,就像我们根据特征决定某一天的活动一样。基于训练数据集中的特征,决策树模型学习一系列问题来推断示例的类别标签。
1.1 决策树构建过程
决策树从根节点开始,根据信息增益(IG)最大的特征对数据进行划分。在迭代过程中,不断在每个子节点重复此划分过程,直到叶子节点纯净,即每个节点的训练示例都属于同一类别。但实际中,这可能导致树很深、节点很多,容易过拟合,因此通常需要设置树的最大深度进行剪枝。
1.2 最大化信息增益
为了在最具信息性的特征上划分节点,需要定义一个目标函数来优化树的学习算法,即最大化每次划分的信息增益,公式如下:
[IG(D_p, f) = I(D_p) - \sum_{j=1}^{m} \frac{N_j}{N_p} I(D_j)]
其中,(f) 是用于划分的特征,(D_p) 和 (D_j) 分别是父节点和第 (j) 个子节点的数据集,(I) 是杂质度量,(N_p) 是父节点的训练示例总数,(N_j) 是第 (j) 个子节点的示例数。
大多数库(包括 scikit-learn)实现的是二叉决策树,此时信息增益公式为:
[IG(D_p, f) = I(D_p) - \frac{N_{left}}{N_p} I(D_{left}) - \frac{N_{right}}{N_p} I(D_{right})]
1.3 常见的杂质度量
二叉决策树常用的三种杂质度量或划分标准是基尼杂质((I_G))
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



