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

相关文章

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

SpringBoot使用注解集成Redis缓存的示例代码

《SpringBoot使用注解集成Redis缓存的示例代码》:本文主要介绍在SpringBoot中使用注解集成Redis缓存的步骤,包括添加依赖、创建相关配置类、需要缓存数据的类(Tes... 目录一、创建 Caching 配置类二、创建需要缓存数据的类三、测试方法Spring Boot 熟悉后,集成一个外

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

SpringBoot集成SOL链的详细过程

《SpringBoot集成SOL链的详细过程》Solanaj是一个用于与Solana区块链交互的Java库,它为Java开发者提供了一套功能丰富的API,使得在Java环境中可以轻松构建与Solana... 目录一、什么是solanaj?二、Pom依赖三、主要类3.1 RpcClient3.2 Public

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

SpringBoot如何集成Kaptcha验证码

《SpringBoot如何集成Kaptcha验证码》本文介绍了如何在Java开发中使用Kaptcha生成验证码的功能,包括在pom.xml中配置依赖、在系统公共配置类中添加配置、在控制器中添加生成验证... 目录SpringBoot集成Kaptcha验证码简介实现步骤1. 在 pom.XML 配置文件中2.

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert