当前位置: 首页 > java >正文

深入浅出决策树

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

一、决策树的基本概念

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

树的组成部分清晰明了:

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

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

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

二、决策树的训练与测试

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

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

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

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

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

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

(一)熵

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

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

http://www.xdnf.cn/news/18115.html

相关文章:

  • (二十)深入了解 AVFoundation-编辑:使用 AVMutableVideoComposition 实现视频加水印与图层合成(下)——实战篇
  • Google 的 Opal:重新定义自动化的 AI 平台
  • Git版本控制与协作
  • 4.9 配置 开发服务器 和 请求代理
  • 汽车之家联合HarmonyOS SDK,深度构建鸿蒙生态体系
  • 使用Idea安装JDK
  • 从零开始,系统学习AI与机器学习:一份真诚的学习路线图
  • 容器化 Android 开发效率:cpolar 内网穿透服务优化远程协作流程
  • Baumer高防护相机如何通过YoloV8深度学习模型实现网球运动员和网球速度的检测分析(C#代码UI界面版)
  • WPF中BindingList<T>和List<T>
  • Conda技巧:修改Conda环境目录,节省系统盘空间
  • 学习:各种不同类型的for循环遍历,forEach/map/filter/every/some/includes/reduce的详细用法(1)
  • 【项目】分布式Json-RPC框架 - 项目介绍与前置知识准备
  • [Linux]学习笔记系列 --[mm][list_lru]
  • Redis-缓存-穿透-布隆过滤器
  • 测试Windows10IoT系统是否可以正常运行KingSCSDA3.8软件
  • Transformer架构的数学本质:从注意力机制到大模型时代的技术内核
  • 蓝凌EKP产品:JSP 性能优化和 JSTL/EL要点检查列表
  • Excel 表格数据自动填充
  • C语言私人学习笔记分享
  • Canny边缘检测
  • pyecharts可视化图表组合组件_Grid:打造专业数据仪表盘
  • python pandas库 series如何使用
  • 电脑上搭建HTTP服务器在局域网内其它客户端无法访问的解决方案
  • 【Tech Arch】Hive技术解析:大数据仓库的SQL桥梁
  • 【从零开始学习Redis】项目实战-黑马点评D2
  • Conda 环境 在AI 私有化部署 有怎么用?
  • 迅速掌握Git通用指令
  • C++内存模型
  • 数据结构代码分享-1 顺序表