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

news2024/11/16 9:52:45

机器学习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划分后,基尼指数定义为:
在这里插入图片描述
和前面思想一样,子集的指数加权平均

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

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

相关文章

新手必看:一步步教你绑定常见邮箱到第三方应用(如何绑定QQ、163、Hotmail、Gmail等邮箱)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 邮箱绑定 📒📫 QQ邮箱📫 163邮箱📫 Hotmail邮箱📫 Gmail邮箱📫 Yahoo邮箱📫 iCloud邮箱📫 其他邮箱⚓️ 相关链接 ⚓️📖 介绍 📖 你是否曾经为绑定第三方邮箱而感到困惑?你不是一个人!许多人在尝试将QQ邮…

QT创建菜单

增加显示信息

MySQL数据库的增删改查以及基本操作分享

1、登录MySQL数据库 首先找到你安装MySQL数据库的目录,然后在终端打开该目录,输入以下命令 mysql -u root -p然后输入密码就可以登录数据库了,看到如下页面就是登陆成功了 ***注意在终端操纵数据库时所有语句写完之后一定要加 &#xff1…

【线程】线程的同步

本文重点:理解条件变量和生产者消费者模型 同步是在保证数据安全的情况下,让我们的线程访问资源具有一定的顺序性 条件变量cond 当一个线程互斥地访问某个变量时,它可能发现在其它线程改变状态之前,它什么也做不了,…

CSS 选择器的分类与使用要点一

目录 非 VIP 用户可前往公众号进行免费阅读 标签选择器 id 选择器 类选择器 介绍 公共类 CSS 中优先用 class 选择器,慎用 id 选择器 后代选择器 交集选择器 以标签名作为开头 以类名作为开头 连续交集 并集选择器(分组选择器) 通配符* 儿子选择器 >(IE7…

Elasticsearch——介绍、安装与初步使用

目录 1.初识 Elasticsearch1.1.了解 ES1.1.1.Elasticsearch 的作用1.1.2.ELK技术栈1.1.3.Elasticsearch 和 Lucene1.1.4.为什么不是其他搜索技术?1.1.5.总结 1.2.倒排索引1.2.1.正向索引1.2.2.倒排索引1.2.3.正向和倒排 1.3.Elasticsearch 的一些概念1.3.1.文档和字…

基于单片机的智能温控风扇系统的设计

[摘 要] 设计一种基于单片机的智能温控风扇系统,系统由 STC 系列的 51 单片机 、 温度传感器 、 LED 数码管和风扇等模块组成。 本系统具有对外界温度感知以及对感知数据进行分析处理 、 智能调节等功能,避免因温度过高而产生…

【全部更新】2024华为杯数学建模研赛F题思路代码文章全国研究生数学建模-X射线脉冲星光子到达时间建模

截止9.22 14:00 已更新全部文章内容完整求解代码(正版授权) ### https://docs.qq.com/doc/DVVBUREF2SmFhRUl3X射线脉冲星光子到达时间建模 摘要 脉冲星是一类高速自转的中子星,其自转形成规律性脉冲信号,类似于“宇宙中的灯塔”,因此被认为是…

鸿蒙 WebView 如何 Debug

前置: hdc chrome //----------------------------------------------------------------------------------------------- hdc shell cat /proc/net/unix | grep devtools 0: 00000002 0 10000 1 1 81134005 webview_devtools_remote_62479exit执行&…

[001-02-001].第2节:java开发环境搭建

4.1.书籍推荐: 4.2.人机交互方式 1.图形化界面(Graphical User Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作2.命令行方式(Command Line Interface CLI):需要有一个控制台,输入特定的指令&#xff0c…

828华为云征文|云服务器Flexus X实例|MacOS系统-宝塔部署Nuxt项目

文章目录 1. Flexus云服务器X实例1.1 与Flexus应用服务器L实例相比具备以下优势1.2 服务器的详细配置 2.宝塔部署Nuxt项目2.1 登录实例2.1 宝塔面板 3. Nuxt 项目与部署3.1 Nuxt3.2创建Nuxt项目3.3 部署3.4 部署成功 4.结语 1. Flexus云服务器X实例 华为云的Flexus云服务是为中…

股指期权交易详细基础介绍

股指期权是期权市场中的一种特定类型,其标的资产为股票指数。简而言之,它允许投资者在未来某个特定时间,以预先约定的价格,买入或卖出股票指数的权利。在中国,已上市的股指期权包括上证50、沪深300和中证1000股指期权&…

【C++ Primer Plus习题】17.5

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> #include <fstream> #include <…

数据库系统基础概述

文章目录 前言一、数据库基础概念 1.数据库系统的组成2.数据模型3.数据库的体系结构二、MySQL数据库 1.了解MySQL2.MySQL的特性3.MySQL的应用场景总结 前言 MySQL数据库是一款完全免费的产品&#xff0c;用户可以直接从网上下载使用&#xff0c;不用花费任何费用。这点对于初学…

react开发环境搭建

文章目录 准备工作创建 React 项目使用 create-react-app 创建 React 项目使用 Vite 创建 React 项目启动项目效果安装出现的情况 react项目文件讲解1. 项目根目录2. 其他可能的目录和文件3. 配置文件 准备工作 Node.js 安装方法&#xff1a; 方式一&#xff1a;使用 NVM 安装…

制作一个rabbitmq-sdk以及rabbitmq消费者实现定时上下线功能

目录结构 pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">&l…

力扣中等 33.搜索旋转排序数组

文章目录 题目介绍题解 题目介绍 题解 首先用 153. 寻找旋转排序数组中的最小值 的方法&#xff0c;找到 nums 的最小值的下标 i。 然后分类讨论&#xff1a; 如果 target>nums[n−1]&#xff0c;在 [0,i−1] 中二分查找 target。 如果 target≤nums[n−1]&#xff0c;那…

利士策分享,家庭内耗:隐形的风暴,无声的侵蚀

利士策分享&#xff0c;家庭内耗&#xff1a;隐形的风暴&#xff0c;无声的侵蚀 在温馨的灯光下&#xff0c;家本应是我们心灵的港湾&#xff0c;是疲惫时最坚实的依靠。 然而&#xff0c;当家庭内部出现裂痕&#xff0c;无形的内耗便如同冬日里的寒风&#xff0c;悄无声息地…

11年408考研真题解析-计算机网络

第一题&#xff1a; 解析&#xff1a;网络层虚电路服务和数据报服务 传输服务只有&#xff1a;有连接可靠和无连接不可靠两种&#xff0c;直接排除BC。 网络层指的是IP协议&#xff0c;由图二可知&#xff1a;运输层&#xff0c;网际层&#xff0c;网络接口层唯一有连接可靠的协…

Spark MLlib实践指南:从大数据推荐系统到客户流失预测的全流程建模

问题一 背景&#xff1a; 本题目基于用户数据&#xff0c;将据数据切分为训练集和验证集&#xff0c;供建模使用。训练集与测试集切分比例为8:2。 数据说明&#xff1a; capter5_2ml.csv中每列数据分别为userId , movieId , rating , timestamp。 数据&#xff1a; capte…