深入浅出决策树

在机器学习的广阔领域中,决策树是一种既直观又强大的模型。它就像我们日常生活中的决策过程,通过一步步的判断,最终得出结论。无论是分类任务还是回归任务,决策树都能胜任。今天,我们就来深入探讨决策树的奥秘,从基本概念到实际构建,带你全面掌握这一经典模型。

一、决策树的基本概念

决策树,顾名思义,是一种以树状结构进行决策的模型。它从根节点开始,通过对特征的判断,沿着不同的分支一步步走到叶子节点,而叶子节点就是最终的决策结果。在这个过程中,所有的数据最终都会落到叶子节点。

树的组成部分清晰明了:

根节点:这是决策树的第一个选择点,就像决策过程的起点。

非叶子节点与分支:它们构成了决策树的中间过程,通过对不同特征的判断,引导数据走向不同的方向。

叶子节点:这是决策树的最终决策结果,数据经过一系列判断后最终停留在这里。

二、决策树的训练与测试

决策树的使用过程分为训练和测试两个阶段。

训练阶段:从给定的训练集中构造出一棵树。这一阶段的关键在于从根节点开始选择合适的特征,并确定如何进行特征切分。

测试阶段:当决策树构造完成后,测试就变得很简单了。只需要根据构造好的树模型,将测试数据从上到下走一遍,就能得到决策结果。

显然,决策树的难点在于如何构造出一棵性能良好的树,这涉及到特征的选择和切分等关键问题。

三、特征切分的衡量标准:熵与信息增益

在构造决策树时,根节点该选择哪个特征,后续节点又该如何选择,这是我们必须解决的问题。我们的目标是让每个节点都能更好地切分数据,提高分类效果。这就需要一种衡量标准,来计算通过不同特征进行分支选择后的分类情况,找出最优的特征作为当前节点。

(一)熵

熵是表示随机变量不确定性的度量,其公式为H(X)=−∑pi×logpi,其中i=1,2,...,n

熵具有这样的特性:不确定性越大,得到的熵值也就越大。

当p=0或p=1时,H(p)=0,此时随机变量完全没有不确定性;

当p=0.5时,H(p)=1,此时随机变量的不确定性最大。

举个例子,有 A 集合[1,1,1,1,1,1,1,1,2,2]和 B 集合[1,2,3,4,5,6,7,8,9,1]。A 集合中主要是 1,不确定性较低,熵值较小;B 集合中元素种类繁多,不确定性高,熵值较大。在分类任务中,我们希望通过节点分支后数据类别的熵值变小,因为这意味着分类后的结果更专一,同类数据能更好地聚集在一起。

(二)信息增益

信息增益表示特征 X 使得类 Y 的不确定性减少的程度。它反映了分类后的专一性,我们希望通过特征切分后信息增益尽可能大,这样分类效果更好。

熵越小越好,信息增益越大越好。

相关推荐
Charlie_lll7 分钟前
力扣解题-移动零
后端·算法·leetcode
chaser&upper8 分钟前
矩阵革命:在 AtomGit 解码 CANN ops-nn 如何构建 AIGC 的“线性基石”
程序人生·算法
weixin_4997715516 分钟前
C++中的组合模式
开发语言·c++·算法
iAkuya1 小时前
(leetcode)力扣100 62N皇后问题 (普通回溯(使用set存储),位运算回溯)
算法·leetcode·职场和发展
近津薪荼1 小时前
dfs专题5——(二叉搜索树中第 K 小的元素)
c++·学习·算法·深度优先
xiaoye-duck1 小时前
吃透 C++ STL list:从基础使用到特性对比,解锁链表容器高效用法
c++·算法·stl
松☆1 小时前
CANN与大模型推理:在边缘端高效运行7B参数语言模型的实践指南
人工智能·算法·语言模型
java干货1 小时前
为什么 “File 10“ 排在 “File 2“ 前面?解决文件名排序的终极算法:自然排序
开发语言·python·算法
皮皮哎哟1 小时前
数据结构:嵌入式常用排序与查找算法精讲
数据结构·算法·排序算法·二分查找·快速排序
程序员清洒1 小时前
CANN模型剪枝:从敏感度感知到硬件稀疏加速的全链路压缩实战
算法·机器学习·剪枝