随机森林-sklearn

news2024/10/7 18:31:18

随机森林

1.概述

1.1 集成算法概述

本身并不是一个单独的机器学习算法,而是通过在数据上构建多个模型,集成所有模型的建模结果。以此来获得最好的结果。

集成算法的目标:
集成算法会考虑多个评估器的建模结果,汇总之后得到一个综合的结果,以此来获取比单个模型更好的回归或者分类表现。

多个模型集成成为的模型叫做集成评估器(ensemble estimator),组成集成评估器的每一个模型叫做基评估器(base estimator)

通常来说,有三类集成算法:装袋法(Bagging)提升法(Boosting)Stacking

袋装法的核心思想就是构建多个相互独立的评估器,然后对其预测进行平均或者多数表决原则来决定集成评估器的结果。如:随机森林。

提升法基评估器是相关的,核心思想是结合弱评估器的力量一次次对难以评估的样本进行预测,从而构建一个强评估器。如:Adaboost,梯度提升树。

1.2 sklearn中的集成算法

请添加图片描述
随机森林分类
随机森林回归
完全随机树的集成

2. 重要参数

2.1 随机森林分类(RandomForestClassifier)

单个决策树的准确率越高,随机森林的准确率也会越高,因为袋装法是依赖于平均值或者少数服从多数的原则来决定集成结果的。

重要参数

(1)n_estimators

这是森林中树木的数量,即基评估器的数量。

(2)random_state

sklearn中的分类树自带随机性,所以随机森林中的树天生就不一样。

决策树从最重要的特征中随机选择出一个特征来进行分枝,因此每次生成的决策树都不一样,这个功能由参数random_state控制。

随机森林中也有random_state,只不过在分类树中,一个random_state只控制生成一棵树,而随机森林中的random_state控制的是生成森林的模式,而非让一个森林中只有一棵树。当random_state固定时,随机森林中生成是一组固定的树,但每棵树依然是不一致的,这是用”随机挑选特征进行分枝“的方法得到的随机性。
用袋装法集成时,基分类器应当是相互独立的,是不相同的。

(3)bootstrap
袋装法正是通过有放回的随机抽样技术来形成不同的训练数据,bootstrap就是用来控制抽样技术的参数。

在一个含有n个样本的原始训练集中,我们进行随机采样,每次采样一个样本,并在抽取下一个样本之前将该样本放回原始训练集,也就是说下次采样时这个样本依然可能被采集到,这样采集n次,最终得到一个和原始训练集一样大的,n个样本组成的自助集。由于是随机采样,这样每次的自助集和原始数据集不同,和其他的采样集也是不同的。这样我们就可以自由创造取之不尽用之不竭,并且互不相同的自助集,用这些自助集来训练我们的基分类器,我们的基分类器自然也就各不相同了。

(4)oob_score

在使用随机森林时,我们可以不划分测试集和训练集,只需要用袋外
数据来测试我们的模型即可。

2.2 随机森林回归

重要参数

和决策树是类似的

3.实验

参考链接:

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

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

相关文章

物联网低功耗蓝牙核心配置技术: 赋能智能家居和智能工业场景

蓝牙我们都不陌生,早已成为深入我们生活的一项科技。不过,我们所知所用的还只是蓝牙的一部分。而蓝牙目前作为物联网中的一项重要通信技术,其应用还远远不止这些,今天就为大家讲讲蓝牙技术中的低功耗技术的应用及分类。 蓝牙低功耗…

原神私服搭建教程 (最新版)

搭建教程 1.准备阶段 1.请先确保电脑内有这些安装环境,否则私服无法运行!!! MongoDB Python3.8 java17 mitmproxy 没有请在群文件下载安装环境,安装即可。特别强调:java17直接放在C:\Program Files目录下即…

初识Kubernetes:(4)Kubernetes实战入门

初识Kubernetes:(4)Kubernetes实战入门1 前言2 Namespace2.1 概述2.2 应用示例3 Pod3.1 概述3.2 语法及应用示例1 前言 介绍如何在kubernetes集群中部署一个Nginx服务,并且能够对其访问。 2 Namespace 2.1 概述 Namespace是ku…

写给Java程序员的GRPC入门系列(2)

点击上方GRPC专栏看完整系列 文章目录Abstract前置依赖本文初始状态编写protobuffer文件生成代码下一步Abstract 网上有很多GRPC的例子,但是却没有能够写给普通Java开发人员手把手入门少走弯路的教程。 本教程保证按照步骤一步步来你就可以完成GRPC从0到1的构建。 …

模型驱动PDR、数据驱动PDR实验效果对比

本学期的室内导航位置服务课程结束了,最后有一个结课作业做了一些工作,在这里分享给大家,同时也是自己的一个记录。 主要内容包括以下四个方面: 模型驱动PDR数据驱动PDR实验效果对比模型驱动PDR测试效果数据驱动PDR-RoNIN官方预训…

JSP ssh相亲网站系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 JSP ssh相亲系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发 。开发环境为TOMCAT7.0,Myeclip…

MergeTree原理之存储

我们都知道在MergeTree中数据是按列存储的,但是具体到存储的细节、以及如何工作的,都存在很多疑问。数据存储,就好比一本书中的文字,在排版时,绝不会密密麻麻地把文字堆满,这样会导致难以阅读。更为优雅的做…

Git学习:各阶段回退方法

文章目录一、问题背景二、解决方式1. 回退情况1:文件在工作区进行回退2. 回退情况2:文件在暂存区进行回退3. 回退情况3:文件在本地仓库进行回退4. 回退情况4:文件已经在远程仓库中一、问题背景 Git 是分布式的软件管理系统。在把…

代码随想录拓展day4 205. 同构字符串;1002. 查找常用字符;925.长按键入;844.比较含退格的字符串

代码随想录拓展day4 205. 同构字符串;1002. 查找常用字符;925.长按键入;844.比较含退格的字符串 哈希表和字符串的一些应用,放到一起了。 同构字符串 https://leetcode.cn/problems/isomorphic-strings/description/ 刚开始以…

spring boot:集成支付宝(沙箱环境)(spring boot 2.4.0 / wap/h5方式 )

一,配置支付宝沙箱环境: 1,沙箱的地址: 登录 - 支付宝 也可以登录后,从控制台点击 研发服务 进入 2,下载开发助手:并生成密钥 从这个页面,按自己所在的平台下载, 当前支持 windows,macos 开发助手简介 &#xf…

自定义Tango Control设备服务在Ubuntu中的测试

文章目录环境create a device classcompile the device classregister the devicestart the deviceexplore the device故障问题解决参考继续上一篇:https://blog.csdn.net/woshigaowei5146/article/details/128443892?spm1001.2014.3001.5501 环境 虚拟机&#xf…

布隆过滤器 以及缓存穿透问题

1. 前言 今天从客观的角度来分析下,什么是缓存穿透,什么是布隆过滤器,布隆过滤器是如何解决缓存穿透的。 2. 适合人群 对布隆过滤器不熟悉的人对Redis 缓存穿透不熟悉的人 3. 开始 3.1 什么是缓存穿透 其实通过上图我们可以知道&#xff0…

(七)Filter

Filter 表示过滤器,是JavaWeb 三大组件(Servlet、Filter、Listener)之一。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。 过滤器一般完成一些通用的操作,比如:权限控制、统一编码处理、敏感字符处理等等..一、Filte…

彻底理解Redis持久化

前言 大家都知道Redis一个内存数据库,它支持2种持久化方式:RDB(Snapshot 内存快照) ,AOF(append only file)。持久化功能将内存中的数据同步到磁盘来避免Redis发生异常导致数据丢失的情况。当Redis实例重启时,即可利用之前持久化的文件实现数…

软件项目管理教程

软件项目管理 1. 软件项目管理 1.1 概述 概念 项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力 软件项目特征 目标性 相关性 周期性 独特性 没有完全一样的项目”,项目的这种独特性对实际项目管理有非常重要的指导意义,因此…

跨境电商日本市场再创纪录,亚马逊失去流量第一位置

从跨境电商服务行业市场分析人员拿到的近期的各平台的销售数据和相关工作总结来看,美国市场微热,而反观欧洲市场则有些遇冷。 此外,近几年的疫情及各国相关政策并未影响到跨境电商市场的整体大好趋势,而伴随着疫情逐渐被控制&…

认真学习MySQL中的MVCC机制

什么是MVCC?MVCC(Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行一致性操作有了保证。换言之&#…

Aspose.PDF for Java系列1-使用前说明

一、关于pdf文件说明 什么是pdf文件? PDF是Portable Document Format的缩写,用来以电子形式显示文档,不受软件、硬件或者操作系统的影响。 最初是由Adobe开发,是一种基于PostScript格式的通用兼容文件格式,现在已成为…

当云原生网关遇上图数据库,NebulaGraph 的 APISIX 最佳实践

本文介绍了利用开源 API 网关 APISIX 加速 NebulaGraph 多个场景的落地最佳实践:负载均衡、暴露接口结构与 TLS Termination。 API 网关介绍 什么是 API 网关 API 网关是位于客户端和服务器之间的“中间人”,用于管理、监控和保护 API。它可以在 API 之…

GAMES101 现代计算机图形学入门

Lecture1 Overview of CG 计算机图形学概述Lecture2 Review of Linear Algebra 向量与线性代数Lecture3 2D Transformation 基础变换(二维)3.1 线性变换 (寻找变换前后直角坐标坐标关系)3.2齐次坐标 Homogeneous Coordinate3.3 仿射变换Affine Transform…