在数据科学领域,决策树算法因其简单易实现和易于解释的特点而广受欢迎。它不仅是许多复杂机器学习算法的基础,如随机森林、XGBoost和LightGBM,也是个人在新项目或参加黑客马拉松时的首选算法。本文将解释四种简单的决策树分裂方法。
学习如何根据不同的分裂标准分裂决策树。熟悉决策树中的方差减少、基尼不纯度、信息增益和卡方检验。了解这些不同分裂方法之间的区别。
在本文中,将快速浏览一些与决策树分裂相关的关键术语。
父节点和子节点:当一个节点分裂成子节点时,它成为父节点,子节点成为子节点。一个节点可以分裂成多个子节点,作为多个子节点的父节点。
根节点:决策树的最顶端节点。它没有任何父节点。它代表整个总体或样本。
叶节点/终端节点:没有子节点的树节点被称为终端/叶节点。
基于学习技术,有多种树模型可供选择,例如ID3、CART、分类和回归树、C4.5等。选择使用哪种决策树取决于问题陈述。例如,在分类问题中,主要使用分类树和基尼指数来识别具有相对较多类别的数据集中的类标签。本文主要讨论CART树。
现代编程库使得使用任何机器学习算法变得容易,但这是以隐藏实现为代价的,这对于完全理解一个算法是必须的。另一个原因是,有多种分裂决策树节点的方法,这增加了进一步的混淆。
在学习任何主题之前,认为理解为什么要学习它是很重要的。这有助于理解学习一个概念的目标。那么,让理解为什么要学习决策树节点分裂。
众所周知决策树的使用范围之广,不可否认学习决策树是必须的。决策树通过分裂节点来做出决策。这是一个监督学习算法。这个过程在训练过程中以递归方式多次执行,直到只剩下同质节点。这就是为什么决策树表现如此出色的原因。递归节点分裂的过程可以导致过拟合。因此,节点分裂是一个每个人都应该知道的关键概念。
节点分裂,或简单地说分裂,将一个节点分裂成多个子节点以创建相对纯净的节点。这是通过找到节点的最佳分裂来完成的,并且可以用多种方式完成。分裂节点的方法可以大致分为两类,基于目标变量的类型:
将在接下来的部分详细查看每种分裂方法。让从第一种分裂方法——方差减少开始。
方差减少是一种用于分裂节点的方法,当目标变量是连续的,即回归问题时使用。之所以这样称呼,是因为它使用方差作为决定在哪个特征上分裂节点的度量。
方差用于计算节点的同质性。如果一个节点完全同质,则方差为零。
以下是使用方差减少方法分裂决策树的步骤:
以下视频通过一个例子很好地解释了方差减少:
<video src="variance_reduction_example.mp4" controls></video>
如果有分类目标变量怎么办?对于分类变量,方差减少可能不太适用。那么,答案是信息增益。信息增益方法在目标变量是分类时分裂节点。它基于熵的概念,公式如下:
熵用于计算节点的纯度。熵值越低,节点的纯度越高。同质节点的熵值为零。由于从1中减去熵,信息增益对于纯度更高的节点更高,最大值为1。现在,让看看计算熵的公式:
<video src="information_gain_example.mp4" controls></video>
基尼不纯度是另一种在目标变量是分类时分裂节点的方法。这是最流行和最简单的分裂决策树的方法。
基尼不纯度值是:
等等——什么是基尼?
基尼是根据节点中标签的分布随机标记一个随机选择的元素时,正确标记的概率。基尼的公式是:
基尼不纯度是:
基尼不纯度越低,节点的同质性越高。纯节点的基尼不纯度为零。现在,可能在想已经知道信息增益了,为什么还需要基尼不纯度?
基尼不纯度之所以受到青睐,是因为它不包含对数运算,这在计算上是密集的。
以下是基尼不纯度的视频形式:
<video src="gini_impurity_example.mp4" controls></video>
卡方检验是另一种用于分裂节点的方法,用于具有分类目标值的数据集。它用于在一个节点中进行两个或多个分裂。它基于父节点和子节点之间的差异的统计显著性。
卡方值是:
这里,Expected是基于父节点中类别的分布,子节点中类别的预期值,Actual是子节点中类别的实际值。
上述公式给出了一个类别的卡方值。将一个节点中所有类别的卡方值相加,以计算该节点的卡方值。值越高,表示父节点和子节点之间的差异越大,即同质性越高。
以下是卡方检验在决策树背景下的视频解释:
<video src="chi_square_example.mp4" controls></video>
决策树是解决分类和回归问题的重要工具。但是,创建一个有效的决策树需要选择正确的特征并以最大化信息增益的方式分裂数据。阅读上述文章后,已经了解了不同的决策树分裂方法。
关键要点:
在接下来的步骤中,可以观看在YouTube上关于决策树的完整播放列表。或者,可以参加在这里提供的关于决策树的免费课程。