第8章 非线性分类和决策树回归

在本章中,我们将讨论一种用于分类和回归任务的简单、非线性模型,称为决策树。我们将使用决策树来创建一个广告拦截器,它能学习将一个网页中的图片分类为横幅广告或网页内容。尽管决策树很少在实践中被使用,但是它们是更多强大模型的组成部分。因此,理解决策树非常重要。

决策数是一种能够对一个决策进行建模的树形图,它们可以类比为一个叫作“20个问题”的室内游戏。在“20个问题”中,有一个参与者称为答题人,他会选择一个物体但是不会把该物体透露给其他称为提问人的参与者。这个物体应该是一个普通名词,例如“吉他”或者“三明治”,但不能是“1969 Gibson Les Paul定制款吉他”者“北卡罗来纳三明治”。提问人必须通过最多20个问题来猜到这个物体,提问的答案可能是“是”“否”或者“可能”。对于提问人的一个直观的策略是提出渐进明确的问题。一般来说,第一个问题问“它是否是一件乐器”并不会有效地减少答案的可能性的数量。决策树的分支指明了为了估计一个响应变量的值而被检查到的最短特征序列。继续类比,在“20个问题”中,提问人和答题人都拥有关于训练数据的知识,但是对于训练实例来说,只有答题人知道特征的值。决策树经常通过基于特征实例迭代地将训练实例集合分到子集合中来学习。图8.1描绘了我们将在本章稍后中学习的决策树。

决策树测试特征的内部节点,用盒子进行表示。这些节点通过边来连接,这些边指明了测试的可能输出。训练实例基于测试结果被分到不同的子集中。例如,一个节点可能会测试一个特征的值是否超出了阈值。通过测试的实例将会随着一条边界到达节点的右子节点,未通过测试的实例将会随着一条边界到达节点的左子节点。子节点将会类似地测试训练实例的子集,直到满足一个停止标准。在分类任务中,决策树的叶节点表示类别。在回归任务中,一个叶节点包含多个实例,这些实例对应的响应变量值可以通过求均值来估计这个叶节点对应的响应变量值。在决策树构建完成之后,对一个测试实例进行预测只需要从根节点顺着对应的边到达某个叶节点。 ...

Get scikit-learn机器学习(第2版) now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.