【机器学习】12-决策树1——概念、特征选择

机器学习10-决策树1

学习样本的特征,将样本划分到不同的类别(分类问题)或预测连续的数值(回归问题)。

  • 选择特征,划分数据集,划分完成形成模型(树结构),一个叶节点是一个类别
  • 新的需要判断的数据进入模型,根据某种距离,最近的那个类就是模型输出

内容有点多,要分开


文章目录

  • 机器学习10-决策树1
  • 概念
    • 流程
  • 一、特征选择
    • 信息增益(Information Gain)
      • 例子
    • 信息增益比(Gain Ratio)
      • 为什么信息增益偏向于选择取值较多的特征
      • 定义
    • 基尼指数(Gini Index)


概念

节点(Node):决策树中的每一个点,包括决策节点和叶节点。
决策节点(Decision Node):表示一个属性的判断节点。
叶节点(Leaf Node):表示最终决策结果的节点。
分支(Branch):连接节点的线,代表决策的路径。
路径(Path):从根节点到叶节点的一条完整路径。

通过一系列的决策规则将数据集划分成不同的子集,形成一个树状结构。每个内部节点表示一个特征(或属性),每个分支表示该特征的一个取值,每个叶子节点表示一个类别或预测值。

流程

决策树算法的学习过程通常包括三个主要步骤:特征选择、决策树的生成和决策树的剪枝。

  • 特征选择:在构建决策树时,首先需要从数据集中选择最具分类能力的特征。这通常通过计算特征的信息增益、信息增益比或基尼指数等指标来完成。
  • 决策树的生成:根据选择的特征,将数据集划分为若干个子集,并为每个子集生成相应的子树。这个过程是递归进行的,直到满足某个停止条件。
  • 常见的停止条件包括:
    所有样本都属于同一个类别。
    达到预设的树的最大深度。
    节点中的样本数少于最小样本数限制。
    特征无法再进一步划分。
  • 决策树的剪枝:由于生成的决策树可能过于复杂,存在过拟合的风险,因此需要通过剪枝来简化树的结构,提高模型的泛化能力。剪枝可以分为预先剪枝和后剪枝两种方法。

一、特征选择

通常基于某种度量,这些度量反映了特征对于数据集分类能力的贡献。

基尼指数 计算更简单,速度较快,因此在CART决策树中常用。
则是更加严格的度量,计算信息增益时使用,更多应用于 ID3 和 C4.5 决策树算法。

信息增益(Information Gain)

信息增益衡量的是一个特征对减少数据集的不确定性(或熵)程度的能力。选择信息增益最大的特征作为当前节点的分裂特征。

信息增益 = 父节点的熵 - 子节点的加权平均熵

香农说,要有熵,于是便有了熵

  • 对数据集 𝐷,k个类别
    在这里插入图片描述

  • 对于特征 A,它将数据集划分为多个子集,每个子集的熵加权平均就是条件熵:
    在这里插入图片描述
    在这里插入图片描述

  • 信息增益是数据集的熵减去特征的条件熵:
    在这里插入图片描述
    某个特征划分了数据集后,熵(不确定性)减少的量
    选择信息增益最大的特征进行划分。

例子

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

信息增益比(Gain Ratio)

信息增益的改进版本。信息增益偏向于选择取值较多的特征,而信息增益比考虑了特征自身的熵,通过引入"固有值(Intrinsic Value)"对偏向进行修正。

为什么信息增益偏向于选择取值较多的特征

  • 特征取值多意味着更细的划分:当一个特征的取值较多时,它会将数据集划分得更加细致,甚至可以将每一个样本单独划分到不同的子集。

例如,假设一个特征有很多独特的取值(如“ID号”),每个样本可能对应一个唯一的取值,这样会使条件熵 H(D∣A) 极低,甚至接近0,因为每个样本已经被完全区分开来。

  • 信息增益只考虑不确定性的减少:当特征的取值数量较多时,数据集在该特征上的条件熵会显著降低,从而导致信息增益增大。信息增益没有对特征的取值数量进行惩罚,因此它会倾向于选择那些取值种类多的特征,因为这些特征可以最大限度地减少不确定性。

假设你有两个特征:

  • 特征A:取值种类很多,几乎每个样本的取值都不同(如用户ID号)。
    特征B:取值种类很少,比如只有两个类别(如“是否为VIP用户”)。
  • 即使特征A的实际分类能力不强,因其将数据集划分得非常细致,信息增益公式会认为它显著减少了数据的不确定性,从而得到很高的信息增益值。而特征B尽管可能有更实际的区分能力,但因其取值较少,划分的效果不会显著,信息增益值相对较低。

定义

信息增益比 = 信息增益 / 特征自身的熵
特征自身的熵:
在这里插入图片描述
其中n是特征A的取值个数,𝐷𝑖表示特征 𝐴 的第 𝑖 个取值对应的样本集合,𝐷 是总样本集合。

  • 对取值较多的特征进行了惩罚(分母更大)

基尼指数(Gini Index)

基尼指数反映了从数据集中随机抽取两个样本,其类别不一致的概率
这里会提到的纯度其实就是不确定性的等价概念,越纯,不确定性越小
在这里插入图片描述
选择使得分裂后基尼指数最小的特征作为分裂特征

例子
在这里插入图片描述

对于给定的数据集D和特征A,根据A划分后,基尼指数定义为:
在这里插入图片描述
和前面思想一样,子集的指数加权平均

【机器学习】13-决策树2——决策树生成、剪枝

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

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

相关文章

OSI 七层模型和TCP/IP 四层模型的区别

目录 OSI 七层模型 介绍 1. 物理层(Physical Layer) 2. 数据链路层(Data Link Layer) 3. 网络层(Network Layer) 4. 传输层(Transport Layer) 5. 会话层(Session …

【网络安全】基础知识详解(非常详细)零基础入门到精通,收藏这一篇就够了

一、什么是网络安全? 百度上对“网络安全”是这么介绍的: 网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露、系统连续可靠正常地运行,网络服务不中断。” 嗯…是不…

地表最强开源大模型!Llama 3.2,如何让你的手机变身私人智能助理

你有没有想过,为什么现在的手机越来越像小型电脑?无论是拍照、看视频,还是用各种APP,甚至是AI助手,手机的功能几乎无所不能。其实,这一切的背后有一个技术正在悄悄改变我们的生活,那就是Llama 3…

开发手札:内网开发Unity导致操作和编译卡顿的问题

最近一个工程切换了最新的unity和packages,在外网开发没什么问题,切换到内网接入保密开发后,发现不论是操作编辑器还是编译代码,巨卡无比。 以上是仅仅写了一句int a 1;后,编译代码的速度。 经过分…

初试Bootstrap前端框架

文章目录 一、Bootstrap概述二、Bootstrap实例1、创建网页2、编写代码3、代码说明4、浏览网页,查看结果5、登录按钮事件处理6、浏览网页,查看结果 三、实战小结 一、Bootstrap概述 大家好,今天我们将一起学习一个非常流行的前端框架——Boot…

在虚幻引擎中实时显示帧率

引擎自带了显示帧率的功能 但是只能在编辑器中显示 , 在游戏发布后就没有了 , 所以我们要自己做一个 创建一个控件蓝图 创建画布和文本 , 修改文本 文本绑定函数 , 点击创建绑定 添加一个名为 FPS 的变量 格式化文本 用大括号把变量包起来 {FPS Int} FPS 然后转到事件图表…

【论文串烧】多媒体推荐中的模态平衡学习 | 音视频语音识别中丢失导致的模态偏差对丢失视频帧鲁棒性的影响

文章目录 一、多媒体推荐中的模态平衡学习1.1 研究背景1.2 解决问题1.3 实施方案1.4 文章摘要1.5 文章重点1.6 文章图示图 1:不同模型变体在 AmazonClothing 数据集上的初步研究图 2:CKD模型架构的说明图 3:在 Amazon-Clothing 数据集上训练过…

科研绘图系列:R语言多个AUC曲线图(multiple AUC curves)

文章目录 介绍加载R包导入数据数据预处理画图输出结果组图系统信息介绍 多个ROC曲线在同一张图上可以直观地展示和比较不同模型或方法的性能。这种图通常被称为ROC曲线图,它通过比较不同模型的ROC曲线下的面积(AUC)大小来比较模型的优劣。AUC值越大,模型的诊断或预测效果越…

介绍 Agent Q:迎接下一代 AI 自动化助手

引言 在科技领域,随着人工智能的不断进步,自动化工具日益成为提升效率的重要手段。今天,我将向大家介绍一款名为 Agent Q 的 AI 自动化助手。这款工具不仅能够完成复杂的任务,还支持交互式命令行操作,使得用户体验更为…

Linux相关概念和重要知识点(8)(操作系统、进程的概念)

1.操作系统(OS) (1)基本结构的认识 任何计算机系统都包含一个基本的程序集合,用于实现计算机最基本最底层的操作,这个软件称为操作系统。操作系统大部分使用C语言编写,少量使用汇编语言。 从…

利用低代码快速搭建电商小程序之商品列表页

目标: 搭建商城的一个商品列表页面(先做静态页) 开发环境: 访问白码低代码平台:https://www.bnocode.com/ 白码的新自定义页功能(使用vue框架) 前期准备: 需要先准备商品数据表…

云手机的海外原生IP有什么用?

在全球数字化进程不断加快的背景下,企业对网络的依赖程度日益加深。云手机作为一项创新的工具,正逐步成为企业优化网络结构和全球业务拓展的必备。尤其是云手机所具备的海外原生IP功能,为企业进入国际市场提供了独特的竞争优势。 什么是海外原…

封装一个vue3的文件上传组件(拖拽或点击选择文件)

1. 效果 选择文件后: 2. 代码 <template><divclass"drop-zone c-normal":class"{borderOutline: outline,}"dragover.preventdrop.prevent"handleDrop"click"chooseFiles"><div v-if"files.length < 1"…

并查集 (Union-Find) :从基础到优化

并查集 (Union-Find) 并查集是一种树形数据结构&#xff0c;主要用于处理不相交集合&#xff08;Disjoint Set&#xff09;的合并和查询问题。它特别适用于解决有关连通性的问题&#xff0c;比如在图论中判断两点是否在同一个连通分量中。并查集可以高效地支持以下两种操作&am…

2024年数字化转型与管理国际学术会议(DTM 2024)

目录 重要信息 大会简介 大会组委 征稿主题 论文出版 会议议程 参会方式 重要信息 大会官网&#xff1a;www.icemme.org&#xff08;点击了解大会&#xff0c;投稿等详细信息&#xff09; 大会时间&#xff1a;2024年11月22-24日 大会地点&#xff1a;中国-大连 大会…

Cloudflare为网站添加AI审计 可检查AI爬虫何时抓取和抓取频次以及直接屏蔽爬虫

网络服务提供商 Cloudflare 宣布即日起为所有网站 (包括免费托管的网站) 带来 AI 审计功能&#xff0c;该功能目前处于测试阶段&#xff0c;可以分析 AI 公司的爬虫和抓爬数据。新的 AI 审计工具 (Cloudflare AI Audit) 主要提供 AI 公司的爬虫何时到网站来抓取数据、抓取的数据…

【Rust练习】16.模式

文章题目来自&#xff1a;https://practice-zh.course.rs/pattern-match/patterns.html 1 &#x1f31f;&#x1f31f; 使用 | 可以匹配多个值, 而使用 … 可以匹配一个闭区间的数值序列 fn main() {} fn match_number(n: i32) {match n {// 匹配一个单独的值1 > println!(…

16. C++ TinyWebServer项目总结(16. 服务器调制、调试和测试)

主要包括&#xff1a; 使用 tcpdump 抓包&#xff1b;使用 gdb 调试器&#xff1b;使用压力测试工具&#xff0c;模拟现实世界中的高并发请求&#xff0c;测试服务器在高压状态下的稳定性。 最大文件描述符数 Linux 对应用进程能打开的最大文件描述符数量有两个层次的限制&a…

4. 数据结构: 对象和数组

数字、布尔值和字符串是构建数据结构的原子。不过&#xff0c;许多类型的信息需要不止一个原子。对象允许我们对值&#xff08;包括其他对象&#xff09;进行分组&#xff0c;从而构建更复杂的结构。到目前为止&#xff0c;我们所构建的程序都受到限制&#xff0c;因为它们只能…

软件设计模式——工厂模式

软件设计模式——工厂模式 文章目录 软件设计模式——工厂模式一、设计模式的认知1.1 什么是软件设计模式&#xff1a;1.2 为什么要学习设计模式&#xff1a;1.3 设计模式的分类&#xff1a; 二、工厂模式2.1 工厂模式实例&#xff1a; 一、设计模式的认知 1.1 什么是软件设计…