一.描述

随机森林回归模型能够通过组合不同的决策树降低方差,但有时会略微增加偏差。在实际应用中,方差降低通常比偏差增加更加显著,所以随机森林回归模型能够取得更好的效果。

二.用法和参数

  • n_estimators参数:用于设置随机森林回归模型里决策树的数量,通常数量越大,效果越好,但是计算时间也会随之增加。当决策树的数量超过一个临界值后,算法的效果并不会很显著的变好
  • max_features参数:用于设置分隔节点时考虑的特征的随机子集的大小。这个值越低,方差越减小的越多,但是偏差的增大也越多。默认回归问题中设置max_features参数为None,意为选择所有特征

三.实例

import numpy as np
from sklearn.ensemble import RandomForestRegressor
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d
# 生成50*50的网格
x, y = np.mgrid[-2:2:50j, -2:2:50j]
# 计算网格上每一个点的高度值
z = x*np.exp(-x**2-y**2)
# 随机生成区间[-2, 2]内的100个x
_x = np.random.random(100) * 4 - 2
# 随机生成区间[-2, 2]内的100个y
_y = np.random.random(100) * 4 - 2
# 生成网格中所有点的高度
_z = _x*np.exp(-_x**2-_y**2) + (np.random.random(100)-0.5) * 0.1
# 训练样本集
X_train = np.stack((_x, _y), axis=1)
# 训练标签集
y_train = _z
# 测试样本集
X_test = np.stack((x.ravel(), y.ravel()), axis=1)
# 测试标签集
y_test = z.ravel()
rfr_1 = RandomForestRegressor(n_estimators=20, max_depth=10)
rfr_2 = RandomForestRegressor(n_estimators=50, max_depth=10)
# 模型训练
rfr_1.fit(X_train, y_train)
rfr_2.fit(X_train, y_train)
# 模型预测
z_1 = rfr_1.predict(X_test)
z_2 = rfr_2.predict(X_test)
# 模型评估
score_1 = rfr_1.score(X_test, y_test)
score_2 = rfr_2.score(X_test, y_test)
score_1
plt.figure(figsize=(20, 10))
ax = plt.subplot(121, projection='3d')
ax.scatter3D(_x, _y, _z, c='r')
ax.plot_surface(x, y, z_1.reshape(x.shape), cmap=plt.cm.hsv, alpha=0.5)
ax = plt.subplot(122, projection='3d')
ax.scatter3D(_x, _y, _z, c='r')
ax.plot_surface(x, y, z_2.reshape(x.shape), cmap=plt.cm.hsv, alpha=0.5)
plt.show()

Scikit-learn_回归算法_随机森林回归算法相关推荐

  1. matlab 随机森林算法_随机森林算法

    随机森林是一种灵活,易于使用的机器学习算法,即使没有超参数调整,也能在大多数情况下产生出色的结果.它也是最常用的算法之一,因为它简单,并且可以用于分类和回归任务.在这篇文章中,您将学习随机森林算法如何 ...

  2. 基于python的随机森林回归实现_随机森林理论与python代码实现

    1,初品随机森林 随机森林,森林就是很多决策树放在一起一起叫森林,而随机体现在数据集的随机采样中和特征的随机选取中,具体下面再讲.通俗的说随机森林就是建立多颗决策树(CART),来做分类(回归),以多 ...

  3. java利用复循环洗牌算法_随机洗牌算法

    今天偶然看到群里的朋友说道,面试被问如何将扑克牌随机洗牌输出.笔者觉得这道题挺有意思而且挺开放性,有多种不同的实现方式.然后我就随手写了一个算法,仔细一想这个算法的优化空间挺大,于是又写出三种算法. ...

  4. 随机森林回归算法讲解

    随机森林(Random Forest)是一种基于集成学习的机器学习算法,被广泛用于回归问题.它通过使用多个决策树对数据进行建模,并将它们的预测结果进行集成,从而提高了模型的性能和稳定性.在本教程中,我 ...

  5. Lesson 9.2 随机森林回归器的参数

    文章目录 一.弱分类器的结构 1. 分枝标准与特征重要性 2. 调节树结构来控制过拟合 二.弱分类器的数量 三.弱分类器训练的数据 1. 样本的随机抽样 2. 特征的随机抽样 3. 随机抽样的模式 四 ...

  6. LESSON 9.1 随机森林回归器的实现

    目录 三 随机森林RandomForest   1 RamdomForestRegressor的实现   2 随机森林回归器的参数    2.1 弱分类器结构    2.2 弱分类器数量    2.3 ...

  7. Python实现Stacking回归模型(随机森林回归、极端随机树回归、AdaBoost回归、GBDT回归、决策树回归)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 Stacking通常考虑的是异质弱学习器(不同的学习算法被组合在 ...

  8. 机器学习基础算法之随机森林

    英文原文<The Random Forest Algorithm> 专知 编译<机器学习基础算法之随机森林> [导读]在当今深度学习如此火热的背景下,其他基础的机器学习算法显得 ...

  9. Python实现GWO智能灰狼优化算法优化随机森林分类模型(RandomForestClassifier算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 灰狼优化算法(GWO),由澳大利亚格里菲斯大学学者 Mirjal ...

最新文章

  1. 【转】DHCP工作过程详解
  2. 操作系统、Linux、CPU的几个疑惑点
  3. 石川es6课程---5、函数-参数
  4. OpenCV——人脸检测
  5. java sql变更跟踪_如何使用Spring动态跟踪数据库更改?
  6. .NET 分布式自增Id组件(解决自动分配机器Id、时间回拨问题)
  7. Ajax(一)——Ajax基础概念,HTTP头部(重点)
  8. 通过零拷贝进行有效的数据传输(java、c)
  9. 2018年计算机二级知识点,2018年计算机二级考试公共基础知识点:栈及其基本运算...
  10. [原创]Aster剧情介绍和简单评价
  11. P4822 [BJWC2012]冻结
  12. 在浏览器中简单输入一个网址,解密其后发生的一切(http请求的详细过程)
  13. 基因测序技术发展历史以及一、二、三代测序技术原理及应用
  14. 用Python来实现2~7阶行列式的计算
  15. SLAM论文笔记-使用点和线特征的激光雷达-单目视觉里程计
  16. 凯恩斯与艺术品投资的更大笨蛋理论
  17. 《金刚经》大致说什么
  18. 从网页端进入1加(one plus)手机云空间
  19. Matlab相机标定工具箱和标定结果评价
  20. 炼金术(7): 何以解忧,唯有重构

热门文章

  1. 自定义小程序showModal对话框
  2. 作为一个程序员,会使用一些电脑快捷键很有需要
  3. 学药剂师好还是计算机好,中国未来十年前景好的专业 你的专业上榜了吗
  4. html5 生成图片插件,HTML5 canvas生成图片马赛克特效插件
  5. mac升级node到指定版本
  6. Linux中查看进程状态信息
  7. 三角函数sin值域查表 sin值域表
  8. 21年抓取抖音小姐姐最新版教程!最关键的是无水印下载。这还学不会?
  9. python面试题-输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母
  10. 电气设备安装技术交底