DataWhale-202110 树模型与集成学习(第一次)

2024-01-15 08:18

本文主要是介绍DataWhale-202110 树模型与集成学习(第一次),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DataWhale-202110 树模型与集成学习

  • 信息论的基础
    • 节点纯度
      • 不确定性函数 H ( P ) H(P) H(P)
    • 决策树分裂
    • 信息增益
  • 分类树的节点分裂
    • 深度优先增长于最佳增益增长
  • CART树
    • 均方误差(熵)平均绝对误差(条件熵)
  • 决策树剪枝
  • 知识回顾
    • 第一题
    • 第二题
    • 第三题
    • 第四题
      • 处理连续值(转发)
      • 处理缺失值
    • 第五题
    • 第六题

信息论的基础

正如文档里面所说的一样,树具有一定的天然分支结构,在机器学习中有分类与回归两大问题,而分类问题中,树的分支结构起到一定的关键作用,首先引入的是节点纯度的概念

节点纯度

节点纯度反映的是节点样本标签的不确定性,当一个节点纯度较低的时候,说明分类的不确定性较高,而节点纯度较高的时候,代表着我们能够把握这个节点的具体信息,确定性较高

不确定性函数 H ( P ) H(P) H(P)

H ( p 1 , . . . , p n ) = − C ∑ i = 1 n p i log ⁡ p i H(p_1,...,p_n)=-C\sum_{i=1}^np_i\log p_i H(p1,...,pn)=Ci=1npilogpi
其中满足信息熵条件是:

  1. H H H关于 p i p_i pi是连续函数。
  2. p 1 = . . . = p n p_1=...=p_n p1=...=pn,则 H H H关于 n n n单调递增。
  3. 若将某一个 p i p_i pi拆分为 p i 1 p_{i1} pi1 p i 2 p_{i2} pi2,即 p i 1 + p i 2 = p i p_{i1}+p_{i2}=p_i pi1+pi2=pi,则
    H ( p 1 , . . . , p i − 1 , p i + 1 , . . . , p n , p i 1 , p i 2 ) = H ( p 1 , . . . , p n ) + p i H ( p i 1 p i , p i 2 p i ) H(p_1,...,p_{i-1},p_{i+1},...,p_n,p_{i1},p_{i2})=H(p_1,...,p_n)+p_iH(\frac{p_{i1}}{p_i}, \frac{p_{i2}}{p_i}) H(p1,...,pi1,pi+1,...,pn,pi1,pi2)=H(p1,...,pn)+piH(pipi1,pipi2)

对于定义在有限状态集合 { y 1 , . . . , y K } \{y_1,...,y_K\} {y1,...,yK}上的离散变量而言,对应信息熵的最大值在离散均匀分布时取到,最小值在单点分布时取到。此时,离散信息熵为
H ( Y ) = − ∑ k = 1 K p ( y k ) log ⁡ 2 p ( y k ) H(Y)=-\sum_{k=1}^K p(y_k)\log_2p(y_k) H(Y)

这篇关于DataWhale-202110 树模型与集成学习(第一次)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/608238

相关文章

SpringBoot集成WebService(wsdl)实践

《SpringBoot集成WebService(wsdl)实践》文章介绍了SpringBoot项目中通过缓存IWebService接口实现类的泛型入参类型,减少反射调用提升性能的实现方案,包含依赖配置... 目录pom.XML创建入口ApplicationContextUtils.JavaJacksonUt

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

springboot2.1.3 hystrix集成及hystrix-dashboard监控详解

《springboot2.1.3hystrix集成及hystrix-dashboard监控详解》Hystrix是Netflix开源的微服务容错工具,通过线程池隔离和熔断机制防止服务崩溃,支持降级、监... 目录Hystrix是Netflix开源技术www.chinasem.cn栈中的又一员猛将Hystrix熔

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

MyBatis-Plus 与 Spring Boot 集成原理实战示例

《MyBatis-Plus与SpringBoot集成原理实战示例》MyBatis-Plus通过自动配置与核心组件集成SpringBoot实现零配置,提供分页、逻辑删除等插件化功能,增强MyBa... 目录 一、MyBATis-Plus 简介 二、集成方式(Spring Boot)1. 引入依赖 三、核心机制

SpringBoot集成P6Spy的实现示例

《SpringBoot集成P6Spy的实现示例》本文主要介绍了SpringBoot集成P6Spy的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录本节目标P6Spy简介抛出问题集成P6Spy1. SpringBoot三板斧之加入依赖2. 修改

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.