03 decision tree(决策树)

一、decision tree(决策树)

1. classification problems(纯度)

i . entropy (熵)

​ 作用:衡量一组数据的纯度是否很纯 ,当五五开时他的熵都是最高的,当全是或者都不是时熵为 0

在这里插入图片描述

i i . information gain (信息增益)

​ 父节点到子节点的熵的减少称为信息增益,处理分支熵的时候,选择使用熵的加权平均值来衡量熵值的高低,计算信息增益是为了看两阶之间如果增益太小的话则不需要分了
在这里插入图片描述

i i i . 多个&连续特征

a)one hot coding(独热编码)

​ **使用:**如果一个特征有多个可能取值,我们可以将多个取值都变为一种特征,然后取值变为0,1是否

b) 连续特征

​ **解决:**如果一个特征有连续的取值,类似体重,可以按照信息熵来划分一个界限

2、regression tree(回归树)

i. how to choosing a spilt

a). 根据方差选择回归树

​ 先计算出根节点的方差,然后计算不同特征分类以后的方差,选择方差差值较大的一个作为划分条件

在这里插入图片描述

i i. weaknesses of desicion tree

​ 改变数据集中的一个数据就会对最后的树造成很大的影响,形成一个根据不同条件划分的树

​ 解决:多构建几个树,使用树的合集来共同决策最后的结果,来投票最后的结果

二、决策森林

i. Sampling with replacement(有放回抽样)

​ **作用:**通过有放回的多次抽样,得到多个和原始训练集大小一样的训练集,与原始的相似但不同的新训练集

i i . Random forest algorithm

a) 袋装决策树

使用 : 使用放回抽样来生成新的dataset,用生成的新的dataset来训练模型,得到新的decision tree,一共重复m次,m 的取值一般为64-228,一般是100往后可能会收益递减。

b) random forest algorithm

与上面的不同: 袋装决策树会因为dataset的小的改变而改变根节点和附近的划分特征,而这里会选择从n个feature中选择 k 个特征,从中选择entropy最大feature来进行划分。

为什么比单一的决策树更加健壮: 因为有放回抽样给了很多个具有微小误差的dataset,训练了不同的决策树,对训练集很多小的变化的求平均

i i i. XGBoost (极端梯度增强)

​ **作用:**在前面创建随机森林过程中,对于每次当前dataset中训练错误,在下一次有放回的dataset中都有更大的机会从错误的例子中取出看,进行有针对的错误训练,使得更加 的高效

使用:

在这里插入图片描述

三 、Conclusion

1 . 决策树,集成树,神经网络的优缺点

i . 决策树和集成树的优缺点:

  • 能够很好的处理表格数据(结构化数据),类似于房价问题,将数据都可以做成一个表格的形式,然后我们可以做出分类或者回归预测的任务
  • 不建议在视频,图像,音频和文本等非结构化数据使用,神经网络能很好的处理非结构数据

i i .神经网络的优缺点

  • 决策树的训练时间很快,大型的神经网络的训练时间通常都是很慢
  • 能够很好的和transfer learning协同工作
  • 多个机器学习模型协同工作的系统,多个神经网络一起训练比多个决策树更加容易

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

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

相关文章

Guava Cache 异步刷新技巧,你值得拥有!

以下文章来源于勇哥Java实战 ,作者勇哥 Guava Cache是一款非常优秀的本地缓存框架。 这篇文章,我们聊聊如何使用 Guava Cache 异步刷新技巧带飞系统性能 。 1 经典配置 Guava Cache 的数据结构跟 JDK1.7 的 ConcurrentHashMap 类似,提供了基…

【机器学习前置知识】Beta分布

Beta分布与二项分布的关系 Beta分布与二项分布密切相关,由二项分布扩展而来,它是用来描述一个连续型随机变量出现的概率的概率密度分布,表示为 X X X~ B e t a ( a , b ) Beta(a,b) Beta(a,b) , a 、 b a、b a、b 是形状参数。B…

ES6之Proxy详解

✨ 专栏介绍 在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景&#x…

P11 FFmpe时间基和时间戳

前言 从本章开始我们将要学习嵌入式音视频的学习了 ,使用的瑞芯微的开发板 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《Linux C应用编程(概念类)_C…

力扣1944.队列中可以看到的人数--单调栈

思路: 由题知一个人能 看到 他右边另一个人的条件是这两人之间的所有人都比他们两人 矮 ,也就是说,在自己右边第一个比自己高的人后面的人就肯定看不到了那么只需要找到右边第一个比自己高的人与自己之间的所有满足要求的人就行了&#xff0…

mysql保姆安装教程

前言:考完研回来,重新配置数据库的相关环境,按照本方法安装请确保你之前的MySQL已完全清除干净。 一.下载install文件 1.进入Mysql官网,点击下载 2.选择MySQL Installer for Windows 3.推荐选择第二个安装包 4.不登陆&#xff0c…

23 导航栏

效果演示 实现了一个响应式的导航栏&#xff0c;当鼠标悬停在导航栏上的某个选项上时&#xff0c;对应的横条会从左到右地移动&#xff0c;从而实现了导航栏的动态效果。 Code <div class"flex"><ul><li>1</li><li>2</li><l…

怎么快速修复mfc140.dll文件?解决mfc140.dll缺失的方法

面对计算机报告的 ​mfc140.dll​ 文件遗失错误&#xff0c;这通常表明系统中缺少一个关键的动态链接库文件&#xff0c;该文件对于运行以 Microsoft Foundation Class (MFC) 库编写的程序十分重要&#xff0c;尤其是那些需要图形界面的应用程序和一些游戏。若没有这个文件&…

【AI视野·今日Robot 机器人论文速览 第六十六期】Tue, 31 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Tue, 31 Oct 2023 Totally 39 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers DEFT: Dexterous Fine-Tuning for Real-World Hand Policies Authors Aditya Kannan, Kenneth Shaw, Shikhar Bahl, Pragna Ma…

【Minikube Prometheus】基于Prometheus Grafana监控由Minikube创建的K8S集群

文章目录 1. 系统信息参数说明2. Docker安装3. minikube安装4. kubectl安装5. Helm安装6. 启动Kubernetes集群v1.28.37. 使用helm安装Prometheus8. 使用helm安装Grafana9. Grafana的Dashboard设定10. 设定Prometheus数据源11. 导入Kubernetes Dashboard12. 实验过程中的常见问题…

软件设计模式 --- 类,对象和工厂模式的引入

Q1&#xff1a;什么是软件设计模式&#xff1f; A&#xff1a;软件设计模式&#xff0c;又称设计模式。它是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。综上&…

vmware安装redhat 7.6 操作系统

vmware安装redhat 7.6 操作系统 1、下载redhat 7.6 操作系统镜像文件2、安装redhat 7.6操作系统3、配置redhat 7.6 操作系统3.1、配置静态IP地址 和 dns3.2、查看磁盘分区3.3、查看系统版本 1、下载redhat 7.6 操作系统镜像文件 链接: 盘盘 zwzg 文件名&#xff1a;rhel-serv…

JVM 常用知识和面试题

1. 什么是JVM内存结构&#xff1f; jvm将虚拟机分为5大区域&#xff0c;程序计数器、虚拟机栈、本地方法栈、java堆、方法区&#xff1b; 程序计数器&#xff1a;线程私有的&#xff0c;是一块很小的内存空间&#xff0c;作为当前线程的行号指示器&#xff0c;用于记录当前虚拟…

LeetCode-无重复字符的最长子串(3)

题目描述&#xff1a; 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 代码&#xff1a; class Solution {public int lengthOfLongestSubstring(String s) {Set<Character> occnew HashSet<Character>();int lens.length();int…

OpenCASCADE MFC例子

OpenCASCADE MFC例子 说明 一直对OpenCASCADE一直都比较感兴趣&#xff0c;这个例子是我参考这位大神C幼儿园中班小朋友的专栏做出来的OpenCASCADE_C幼儿园中班小朋友的博客-CSDN博客 不过我用的是vcpkg的方式安装OpenCASCADE&#xff0c;这个需要注意一下&#xff0c;可能需…

HackTheBox - Medium - Linux - Awkward

Awkward Awkward 是一款中等难度的机器&#xff0c;它突出显示了不会导致 RCE 的代码注入漏洞&#xff0c;而是 SSRF、LFI 和任意文件写入/追加漏洞。此外&#xff0c;该框还涉及通过不良的密码做法&#xff08;例如密码重用&#xff09;以及以纯文本形式存储密码来绕过身份验…

Mybatis缓存实现方式

文章目录 装饰器模式Cache 接口及核心实现Cache 接口装饰器1. BlockingCache2. FifoCache3. LruCache4. SoftCache5. WeakCache 小结 缓存是优化数据库性能的常用手段之一&#xff0c;我们在实践中经常使用的是 Memcached、Redis 等外部缓存组件&#xff0c;很多持久化框架提供…

【物联网】手把手完整实现STM32+ESP8266+MQTT+阿里云+APP应用——第3节-云产品流转配置

&#x1f31f;博主领域&#xff1a;嵌入式领域&人工智能&软件开发 本节目标&#xff1a;本节目标是进行云产品流转配置为后面实际的手机APP的接入做铺垫。云产品流转配置的目的是为了后面能够让后面实际做出来的手机APP可以控制STM32/MCU&#xff0c;STM32/MCU可以将数…

【自学笔记】01Java基础-07面向对象基础-01封装

记录学习Java基础中有关面向对象编程的基础知识&#xff0c;包括面向对象思想&#xff0c;构造方法&#xff0c;封装思想&#xff0c;JavaBean。 1 面向对象概述 1.1 什么是面向对象编程 严谨来说&#xff1a;   面向对象编程&#xff08;Object-Oriented Programming&…

《深入理解Java虚拟机(第三版)》读书笔记:虚拟机类加载机制、虚拟机字节码执行引擎、编译与优化

下文是阅读《深入理解Java虚拟机&#xff08;第3版&#xff09;》这本书的读书笔记&#xff0c;如有侵权&#xff0c;请联系删除。 文章目录 第6章 类文件结构第7章 虚拟机类加载机制7.2 类加载的时机7.3 类加载的过程7.4 类加载器7.5 Java模块化系统 第8章 虚拟机字节码执…