随机森林

1.什么是集成模型

①集成模型:大白话就是把若干个决策树合到一起的模型(三个臭皮匠顶个诸葛亮)
②优势:1)效果好,稳定;2)可解释性强
③集成模型的分类:
1)Bagging:随机森林;
基于Bagging的构造,预测过程:

2)Boosting:GBDT,XGBOOST
下篇Blog介绍,本节以随机森林为主

2.举例:

问题:假设邀请了9位专家,而且每一位专家在决策上犯错误的概率位0.4,那么他们共同决策时最终犯错误的概率是多少?


通过这个例子我们可以看到一个人决策时犯错误的概率为0.4,而大家一起决策时犯错误的概率位0.25241
所以为什么说集成模型的稳定性高呢,通过集成模型做预测可以降低方差,而方差越低说明模型越稳定这是一种原因

3.随机森林的训练

随机森林的核心:

1)随机:1)训练样本的随机化(稳定性的基础是多样性)
2)森林:多颗决策树

随机森林的构造:

1)构造随机森林需要考虑的点:①只有一份训练数据;②确保多颗决策树要优于但棵决策树
2)随机森林的构造:

对训练数据进行抽样:Bootstrap(可以重复抽样同样的样本)

随机森林的预测:
分类问题:少数服从多数,比如说随机森林由三棵树构成,两棵树分类为同意,一棵树分类为不同意,那么最终结果为不同意
回归问题:取平均值

随机森林的demo


# 导入数字识别数据集,这个数据集已经集成在了sklearn里
from sklearn.datasets import load_digits
# 导入随机森林分类器
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
import pandas as pd
import numpy as np
# 导入数据
digits = load_digits()
X = digits.data
y = digits.target
X_train, X_test, y_train, y_test = train_test_split(X,y, test_size=0.2, random_state=42)
# 创建随机森林,参数可以适当修改一下。
# https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html
clf = RandomForestClassifier(n_estimators=400, criterion='entropy',max_depth=5, min_samples_split=3, max_features='sqrt',random_state=0)
clf.fit(X_train, y_train)
print ("训练集上的准确率为:%.2f, 测试数据上的准确率为:%.2f"% (clf.score(X_train, y_train), clf.score(X_test, y_test)))结果:训练集上的准确率为:0.98, 测试数据上的准确率为:0.95

写在最后:
如果有些地方理解的不对,大家可以积极评论,学习本身就是一个不断纠错的过程,发现问题不管是对我还是对大家都是一种进步

机器学习之随机森林模型相关推荐

  1. 机器学习笔记 十九:由浅入深的随机森林模型之分类

    随机森林学习内容 1. 集成学习 2.sklearn中的集成算法 2.1 sklearn中的集成算法模块ensemble 2.2 RandomForestClassifier 2.2.1 参数 2.2 ...

  2. 机器学习预测股票收益(一)之随机森林模型

    机器学习预测股票收益(一)之随机森林模型 前言 一.导入库和数据 二.处理数据以及计算特征变量 三.使用随机森林回归预测股票收益 1.构建训练集和测试集 2.查看预测结果 四.根据预测结果构建long ...

  3. 【火炉炼AI】机器学习012-用随机森林构建汽车评估模型及模型的优化提升方法

    [火炉炼AI]机器学习012-用随机森林构建汽车评估模型及模型的优化提升方法 [本文所使用的Python库和版本号]: Python 3.5, Numpy 1.14, scikit-learn 0.1 ...

  4. ArcGIS Pro随机森林模型深度机器学习预测海草栖息地【教程】

    开始之前,总体梳理一下项目流程,大致了解一下我们是怎么一步一步得到最终结果的 1.创建训练数据集 下载数据(链接:https://pan.baidu.com/s/1tM4ZXplEP2MC787OKS ...

  5. 【ML】基于机器学习的心脏病预测研究(附代码和数据集,随机森林模型)

    写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大努力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌. 之前创作过心脏病预测研究文章如下: [ML]基于机器学 ...

  6. kaggle项目:基于随机森林模型的心脏病患者预测分类!

    公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 新年的第一个项目实践~给大家分享一个新的kaggle案例:基于随机森林模型(RandomForest)的心脏病人预测分类 ...

  7. 【火炉炼AI】机器学习007-用随机森林构建共享单车需求预测模型

    [火炉炼AI]机器学习007-用随机森林构建共享单车需求预测模型 (本文所使用的Python库和版本号: Python 3.5, Numpy 1.14, scikit-learn 0.19, matp ...

  8. 随机森林原理_机器学习(29):随机森林调参实战(信用卡欺诈预测)

    点击"机器学习研习社","置顶"公众号 重磅干货,第一时间送达 回复[大礼包]送你机器学习资料与笔记 回顾 推荐收藏>机器学习文章集合:1-20 机器学习 ...

  9. 机器学习算法-随机森林初探(1)

    机器学习算法-随机森林之理论概述 表达数据集来源于 https://file.biolab.si/biolab/supp/bi-cancer/projections/. 为了展示随机森林的能力,我们用 ...

  10. 机器学习算法-随机森林之理论概述

    前面我们用 3 条推文从理论和代码角度讲述了决策树的概念和粗暴生成. 机器学习算法-随机森林之决策树R 代码从头暴力实现(3) 机器学习算法-随机森林之决策树R 代码从头暴力实现(2) 机器学习算法 ...

最新文章

  1. llvm常见问题 (FAQ)
  2. 怎样成为php高手,怎么成为php高手?如何自学成为php高手?优秀的PHP开发者是怎样炼成的?-PHP教程-基础篇-php语法基础--创业的风,吹向了年轻之长藤个人博客网站...
  3. Linux Shell脚本攻略:shell中各种括号()、(())、[]、[[]]、{}的作用
  4. MySQL优化--where条件字段的顺序对效率的影响 (02)
  5. JAVA数组扁平化整合_数组扁平化的几种处理放法
  6. 找到一篇有关A*算法文章,不错~收藏
  7. Spring与网关的集成
  8. 【Python】07、python内置数据结构之字符串
  9. MP3转换器下载 - 通用mp3转换器
  10. EXCEL VBA常用代码集
  11. GAN的目标函数(F散度;KL散度;JS散度;Pearson \chi^2 散度;IPM;Wasserstein距离;MMD)
  12. i217lm网卡驱动linux,英特尔I217-LM网卡驱动Windows10
  13. tomcat里面的war包解压后没有访问权限
  14. 认识主分区,活动分区,扩展分区和逻辑分区
  15. Elasticsearch与最新的log4j2零日漏洞
  16. 动态规划之最长回文子串
  17. JavaScript基础练习题(一)
  18. C# bartender打印帮助类,单个打印以及批量打印方法封装
  19. 帆软中的日期函数,当月第一天,当年第一天,当月最后一天等
  20. NUC安装CentOS-8.2

热门文章

  1. c语言餐厅饭卡管理系统,饭卡管理系统
  2. 计算机桌面无法新建文件夹,Win7桌面不能新建文件夹和修改文件名怎么办?
  3. 三级网络技术无纸化模拟软件 (未来)教育
  4. abortonerror_错误:无法解决:com.android.support:appcompat-v7:24.0.0
  5. pitch yaw roll 角度分别是什么
  6. APP自动化测试-2. Appium录制测试用例
  7. 如何解除国外听QQ音乐网易音乐地区版权限制解除
  8. kali linux2019镜像下载,Kali 2019下载_KaLi Linux镜像文件iso下载 2019.1a x86/x64_当载软件站...
  9. 国际标准行业分类(ISIC Rev 4.0)
  10. windows 界面设计规则与规范