“从根到叶:使用决策树导航数据”

目录

一、说明

二、什么是决策树?

三、基本概念:

四、工作原理:

五、分类原理分析

5.1 信息熵:

5.2 信息增益:

5.3 基尼杂质:

5.4 基尼系数和熵的区别:

六、对于回归决策树:

6.1 均方误差(MSE) :

6.2 使用 MSE 获得信息:

6.3 分类拆分:

6.4 回归拆分:

6.5 停止树的几个步骤:

七、优缺点分析

7.1 优势:

7.2 缺点

八、结论


一、说明

决策树可能不是什么新鲜东西,但是它的作用有两个:分类型、回归型。分别以熵和均方差作为分支判别的依据,本篇将对比其细节。     

二、什么是决策树?

        决策树是一种监督式机器学习模型,它采用树状结构根据输入特征做出决策或预测。它以递归方式将数据拆分为多个子集,每个子集由所选特征的值决定,从而形成一个树状结构,其中内部节点表示决策规则,叶节点表示预测结果。该模型基于规则、可解释,适用于分类和回归任务,提供决策过程的透明表示。

三、基本概念:

        想象一下,你必须做出一系列决定来解决问题,比如诊断疾病或选择餐馆。你从一个问题开始,每个答案都会把你引向另一个问题,直到你做出最终决定。这个过程可以可视化为一棵树,其中:

根:

起点(第一个问题)。

分支:

每个问题的可能答案。

节点:

根据问题的答案做出决定的点。

叶:

四、工作原理:

        从根开始:从整个数据集开始,然后选择最能将数据拆分为不同组的特征(问题)。

        分支: 每个答案(分支)都会导致另一个功能(问题),该特征(问题)进一步拆分数据。

        重复: 继续这个过程,直到你能做出明确的决定或预测(到达一片叶子)。

        例:

        假设您正在尝试根据动物是哺乳动物、鸟类还是爬行动物对动物进行分类。您的决策树可能如下所示:

        根源问题:动物有羽毛吗?
        是的:这是一只鸟(叶子)。
        否:转到下一个问题。

        下一个问题:动物会生下幼崽吗?
        是的:它是一种哺乳动物(叶子)。
        不:它是一种爬行动物(叶子)。

为什么有用:

           易于理解:树状结构使决策过程易于可视化和理解。

        处理不同类型的数据:可以处理数字和分类数据。

        非线性关系 :捕获要素与目标变量之间的复杂非线性关系。

五、分类原理分析

5.1 信息熵:

        它是对一组数据的不确定性或随机性的度量。具体来说,在决策树算法中,熵用于量化基于特征的分裂前后节点的杂质。

        “熵的范围在0到1之间”,因为熵是基于概率的。

5.2 信息增益:

        信息增益衡量根据特征拆分数据集后目标变量的熵或不确定性的减少。它指示拆分后子节点与父节点相比的顺序。

5.3 基尼杂质:

        测量随机选择的元素如果根据子集中标签的分布进行随机标记,则该元素被错误标记的频率。

        基尼杂质的范围在0.5到1之间,用于二元分类:

1–1/c ,其中类(c)=2,给出 0.5

5.4 基尼系数和熵的区别:

        两者几乎相同,我们可以用它们来查找数据中的杂质,但是当涉及到更大的数据集时,基尼指数似乎更快一点,因为它计算平方和计算平方比计算“log”更快,并且对数由熵使用。这里给出一点推导:

        将熵的对数部分按泰勒展开,取第一项就成了基尼系数了。

六、对于回归决策树:

6.1 均方误差(MSE) :

        均方误差 (MSE) 量化了 n 个实例的实际目标值 yi 与模型生成的预测值 y^i 之间的平均平方差。

6.2 使用 MSE 获得信息:

6.3 分类拆分:

        在分类任务中,目标是根据样本的特征预测样本的类标签或类别。下面是在分类决策树中拆分的示例:

        数据集:假设我们有一个花的数据集,其特征包括花瓣长度和宽度、萼片长度和宽度,以及一个指示花种的目标变量(例如,鸢尾、花色鸢尾、弗吉尼亚鸢尾)。

        示例:假设我们想根据特征“花瓣长度”拆分数据集。我们可以选择一个阈值,例如 2.5 厘米。花瓣长度小于或等于 2.5 厘米的实例转到一个子节点,花瓣长度大于 2.5 厘米的实例转到另一个子节点。

6.4 回归拆分:

        在回归任务中,目标是根据输入特征预测连续目标变量(例如,房价、温度)。

        数据:假设我们有一个房屋数据集,其中包含卧室、浴室数量、平方英尺等特征,以及指示房屋销售价格的目标变量。

        例: 假设我们想根据特征“平方英尺”拆分数据集。我们可以选择一个阈值,例如 2000 平方英尺。面积小于或等于 2000 平方英尺的房屋将进入一个子节点,面积大于 2000 平方英尺的房屋将进入另一个子节点。

6.5 停止树的几个步骤:

1 修剪:

        修剪涉及删除树中不能提供显着预测能力或改进泛化的部分。它有助于防止树变得过于复杂并捕获数据中的噪声。

        有两种主要的修剪技术:预修剪(根据某些标准提前停止树木的生长)和修剪后(在树木完全生长后修剪)。

        成本复杂度修剪: 成本复杂度修剪,也称为最小成本复杂度修剪或 alpha 修剪,是一种用于修剪决策树以防止过度拟合的技术。它涉及通过平衡树的复杂性(大小)及其拟合训练数据的能力,从更大的、完全生长的树中选择最佳子树。修剪过程由称为复杂性参数 (α) 的超参数指导,该参数控制树大小和精度之间的权衡。

        评估修剪后的树木性能: 在单独的验证数据集上或通过交叉验证来评估修剪后的决策树的性能。测量相关指标,例如准确率、精确度、召回率、F1 分数(用于分类)或均方误差(用于回归)。

2 限制树深度:

        限制树的最大深度可防止其变得太深和太复杂。深树更容易出现过拟合,因为它们可能会捕获数据中的噪声或异常值。

        限制树的深度会鼓励模型学习更简单的决策边界,这通常会导致更好的泛化。

3 每片叶子的最小样本数 

        设置叶节点中所需的最小样本数可防止创建实例很少的节点。实例较少的节点更有可能捕获数据中的噪声或异常值。
        通过要求每片叶子的样本数量最少,树可以从更具代表性的数据子集中学习,从而降低过拟合的风险。

七、优缺点分析

7.1 优势:

  1. 可解释性:决策树易于解释,因为它们表示分层树结构中的决策规则。这使得它们适合向非专家解释预测背后的原因。
  2. 简单性:决策树通过将复杂的决策路径分解为一系列简单、直观的决策来模仿人类的决策过程。这种简单性使它们易于理解和可视化。
  3. 处理混合数据类型:决策树可以处理数值数据和分类数据,使其适用于各种应用程序,而无需进行大量的数据预处理。
  4. 非线性关系:决策树可以捕获特征与目标变量之间的非线性关系,而无需进行特征工程或转换。
  5. 隐式特征选择:在训练过程中,决策树会自动选择信息量最大的特征进行拆分,从而深入了解特征的重要性。
  6. 对异常值的鲁棒性:决策树对数据中的异常值和缺失值具有鲁棒性,因为它们不依赖于基于距离的指标。

7.2 缺点

  1. 过拟合 :决策树容易出现过拟合,尤其是当允许其增长到过深或过复杂时。修剪和设置最大深度等技术对于缓解过拟合是必要的。
  2. 不稳定性:训练数据的微小变化可能导致决策树的显著差异,使它们成为不稳定的模型。像随机森林这样的集成方法可以通过聚合多个决策树来帮助解决这个问题。
  3. 偏向优势类:在类分布不平衡的分类任务中,决策树倾向于偏向优势类,导致少数类的性能欠佳。
  4. 高方差:决策树具有高方差,这意味着它们对训练数据的变化很敏感,如果没有适当的正则化,可能无法很好地泛化到看不见的数据。
  5. 有限的表达能力:尽管决策树能够捕获非线性关系,但与神经网络或梯度提升机等更复杂的模型相比,决策树的表现力有限。
  6. 贪婪的本质:决策树在训练过程中使用贪婪的、自上而下的方法,这可能并不总是导致全局最优分裂,并可能导致次优树。

八、结论

        总之,决策树是多功能且功能强大的机器学习模型,具有许多优势,包括简单性、可解释性和灵活性。由于它们能够处理数值和分类数据,以及对决策过程的直观表示,它们被广泛用于各个领域的分类和回归任务。

        决策树根据简单的决策规则将特征空间划分为多个区域,使其易于理解和解释。它们提供了对预测的最重要特征的见解,并为决策过程提供了透明度,这对于可解释性至关重要的应用至关重要,例如医疗保健或金融。

        “决策树”的旅程充满了热情和奉献精神,致力于分享对不断发展的科技世界的知识和见解。得到以下机构的支持和认可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/840196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决el-image只能点击关闭按钮才能关闭的问题

问题:el-image打开大图预览时,只能点击关闭按钮才能关闭,点击蒙层不能关闭的 methods: {handleClickStop() {this.$nextTick(() > {const domImageView document.querySelector(".el-image-viewer__mask") // 获取遮罩层domif …

DOM【事件、操作节点、DOM案例】--学习JavaEE的day49

day49 JS核心技术 DOM 继day48 事件 键盘事件 监听器&#xff1a;onkeydown、onkeypress、onkeyup <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head><body><input type"text&q…

前端请求超时截断,axios timeout设置未生效情况记录

问题描述 前端请求超时截断&#xff0c;axios timeout设置未生效情况记录 timeout设置方式&#xff1a; 表现&#xff08;前端超过5min报错500&#xff0c;直接访问接口超过5min能够正常响应&#xff09;&#xff1a; 问题原因 上面的配置设置时间为1000min&#xff0c;明显…

前端开发攻略---三种方法解决Vue3图片动态引入问题

目录 1、将图片放入public文件夹中 2、使用 /src/.... 路径开头 3、生成图片的完整URL地址&#xff08;推荐&#xff09; 1、将图片放入public文件夹中 使用图片&#xff1a;路径为 /public 开头 <template><div><img :src"/public/${flag ? 01 : 02}.jp…

【电子学会】2023年09月图形化一级 -- 芝麻开门

芝麻开门 1. 准备工作 &#xff08;1&#xff09;删除小猫角色&#xff0c;添加角色Key&#xff1b; &#xff08;2&#xff09;删除白色背景&#xff0c;添加背景Castle 1和Pathway。 2. 功能实现 &#xff08;1&#xff09;点击绿旗&#xff0c;钥匙在舞台中间&#xff…

SQL——SELECT相关的题目

目录 197、上升的温度 577、员工奖金 586、订单最多的客户 596、超过5名学生的课 610、判断三角形 620、有趣的电影 181、超过经理收入的员工 1179、重新格式化部门表 1280、学生参加各科测试的次数 1068、产品销售分析I 1075、项目员工I 1084、销售分析III 1327、列出指…

2024最新 Jenkins + Docker 实战教程(六)- Jenkins配置邮箱接收构建通知

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

【数据结构】二叉树的功能实现

文章目录 关于二叉树的创建如何创建二叉树实现二叉树的前、中、后序遍历层序遍历 关于二叉树的创建 在笔者的上一篇文章中堆进行了一个详细介绍&#xff0c;而二叉树是以堆为基础进行创建&#xff0c;它与堆的显著不同是 堆像是一个线性结构&#xff0c;堆的结构往往是一个数…

PHP生成二维码+二维码包含logo图片展示

composer require chillerlan/php-qrcode 用到的扩展自己安装&#xff08;注&#xff1a;只生成二维码只要开gd扩展就行&#xff09; 仅生成二维码看这个&#xff1a; use chillerlan\QRCode\QRCode;public function QRCode(){$qrcode new QRCode();$url "http://ww…

Beta 分布和 Gamma 分布

0. 摘要 本文主要介绍 B e t a Beta Beta 分布和 G a m m a Gamma Gamma 分布之间的关系, 以及两者的采样方法. 其实, PyTorch、Numpy、Scipy 等一些机器学习包已经实现了对这两种分布的包装, 本文主要目的是理解背后的大致原理. 1. Beta 分布 设 X ∼ B e t a ( α , β…

金蝶「起舞」,AI进化

能清晰感受到的是&#xff0c;金蝶仍然在不断进化&#xff0c;甚至伴随着AI时代的到来&#xff0c;它的进化信号愈发明显。 这些进化对应的具体动作是&#xff0c;把过去多年的服务模型整合成AI模型&#xff0c;把具体的服务“工艺”整理成流程编排能力&#xff0c;以及从740…

水下哨兵 智能守护——北斗人员落水报警与快速应急响应方案

随着科技的不断发展&#xff0c;人们对于安全的需求也越来越高&#xff0c;尤其是在水域活动中&#xff0c;落水事故时有发生&#xff0c;给人们的生命和财产安全带来了很大威胁。为了更好地保障水域活动者的安全&#xff0c;北斗短报文技术被广泛应用于落水报警系统中&#xf…

不平衡数据研究:分配权重 合并2个loader

分配权重&#xff08;基于实例分配&#xff0c;基于类分配&#xff09; import numpy as np import torch from torch.utils.data import DataLoader, WeightedRandomSampler, Dataset# Mock dataset class class MockDataset(Dataset):def __init__(self, data, targets):sel…

玩转OpenHarmony智能家居:如何实现开发版“碰一碰”设备控制

一、简介 “碰一碰”设备控制&#xff0c;依托NFC短距通信协议&#xff0c;通过碰一碰的交互方式&#xff0c;将OpenAtom OpenHarmony&#xff08;简称“OpenHarmony”&#xff09;标准系统设备和全场景设备连接起来&#xff0c;解决了应用与设备之间接续慢、传输难的问题&…

什么是DDoS流量清洗?

随着互联网的飞速发展&#xff0c;网络安全问题日益凸显&#xff0c;其中分布式拒绝服务&#xff08;DDoS&#xff09;攻击尤为引人关注。为了有效应对这一威胁&#xff0c;流量清洗服务应运而生&#xff0c;成为网络安全领域的一项重要技术。 流量清洗服务是一种专门针对DDoS…

昔日辉煌不再,PHP老矣,尚能饭否?

导语 | 近期 TIOBE 最新指数显示&#xff0c;PHP 的流行度降至了历史最低&#xff0c;排在第 17 名&#xff0c;同时&#xff0c;在年度 Stack Overflow 开发者调查报告中&#xff0c;PHP 在开发者中的受欢迎程度已经从之前的约 30% 萎缩至现在的 18%。“PHP 是世界上最好的语言…

WiFi蓝牙模块开发配置过程中需要注意的细节

在很多产品的应用场景中&#xff0c;WIFI网络会给我们提供很多便捷&#xff0c;MCU开发中大多使用串口WIFI蓝牙模块来实现产品接入WIFI网络中。   具体的使用模型如下图所示&#xff1a;整个系统涉及到WIFI网络、手机、服务器平台以及我们设计的产品&#xff0c;一个完整的生…

Docker技术搭建Grafana监控平台

centos7虚拟机和docker的安装&#xff1a;可以参考之前的博文 CPU、mysql-exporter、docker监控模板&#xff1a;百度网盘 提取码&#xff1a;0000 先查看服务器时间是否和当前时间一致&#xff0c;如果不一致&#xff0c;查看对应设置&#xff1a;centos7时间同步博文 一、…

拆分盘投资深度解析:投资逻辑、风险探讨与投资建议

随着互联网技术的飞速发展&#xff0c;金融领域也迎来了诸多创新。其中&#xff0c;拆分盘作为一种新型投资模式&#xff0c;以其独特的“只涨不跌”机制&#xff0c;吸引了众多投资者的目光。本文将深入探讨拆分盘的投资逻辑&#xff0c;并通过一个实际案例进行解析&#xff0…