深入浅出决策树

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

一、决策树的基本概念

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

树的组成部分清晰明了:

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

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

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

二、决策树的训练与测试

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

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

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

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

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

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

(一)熵

熵是表示随机变量不确定性的度量,其公式为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 的不确定性减少的程度。它反映了分类后的专一性,我们希望通过特征切分后信息增益尽可能大,这样分类效果更好。

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

相关推荐
怕浪猫17 分钟前
不用摄像机,我把历史故事做成竖屏视频
算法·面试·github
知识分享小能手40 分钟前
机器学习教程,从入门到精通,机器学习概述 + Python 语言基础 · 知识点详解(1)
人工智能·python·机器学习
博谷1 小时前
什么是GEO监测?核心指标、工作原理与AI搜索诊断监测全解析
人工智能·机器学习·自然语言处理
郝学胜-神的一滴1 小时前
AI 编程智能体 16:从零基础搭建到精细化优化
人工智能·python·算法·语言模型·langchain·pip
喜欢打篮球的普通人1 小时前
AI 编译器内存分配算法:从静态/动态划分到内存复用
人工智能·算法
iiiiii112 小时前
大模型批量生成中的左填充 (left padding)与右填充 (right padding):从生成正确性到 GRPO 的混合策略
人工智能·机器学习·语言模型·大模型·llm·attention·注意力
mjhcsp2 小时前
Code date creation v8.0 竞赛数据生成与对拍实战指南
算法·ai·深度优先·cdc
小郎君6582 小时前
keep-alive 页面怎么“真刷新”?别改外层 key——一个 refreshVersion 的完整实现
vue.js·算法
瑶池酒剑仙2 小时前
C++变量初始化五法完全指南:默认/拷贝/直接/列表/值初始化与窄化转换陷阱(青云之志)
c语言·开发语言·数据结构·c++·算法·visual studio
用户238003099453 小时前
从零开始实现扫雷游戏(C 语言控制台版)
算法