决策树如何根据数据知道要问的下一个最佳问题?
如何让决策树根据数据来确定下一个最佳问题?
从头开始构建自己的决策树分类器(使用Python),并了解它如何使用熵来分割节点
简介
决策树是多功能机器学习算法,可以执行分类和回归问题。它通过根据数据特征询问问题来做出决策,使用IF-ELSE结构跟随路径,最终导致最终预测。挑战在于找出在决策过程的每一步中要提出哪个问题,这也等效于问如何确定每个决策节点上的最佳分割。
在本文中,我们将尝试为一个简单的二进制分类任务构建决策树。本文的目标是了解在每个节点如何使用不纯度度量(例如熵)来确定最佳分割,最终构建出一个使用基于规则的方法来进行最终预测的树状结构。
要理解熵和基于基尼不纯度(另一种用于衡量随机性并确定决策树中分割质量的度量)背后的直觉,请快速查看此文章。
问题定义和数据
问题:根据其长度和重量测量,预测一条鱼是金枪鱼还是三文鱼。
挑战是根据鱼的重量和长度预测其类型(目标变量)。这是一个二进制分类任务的例子,因为目标变量类型有两个可能的值,即金枪鱼和三文鱼。
您可以从此处下载数据集。
强烈鼓励您在阅读本文的同时进行编码,以获得最大的理解 🙂
代码编写先决条件
确保您有一切开始(我打赌您已经有了,但以防万一)。
- Python
- 任何可让您使用Python(.ipynb扩展名)笔记本(例如Visual Studio Code,Jupyter Notebook和Google Colab)工作的代码编辑器。