下表为训练数据集,特征向量只有一维,根据此数据表建立回归决策树。

在本数据集中,只有一个特征变量,最优切分变量自然是x。接下来考虑9个切分点{1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5},根据下式计算每个待切分点的损失函数值:


当切分点s=1.5时,可得c1和c2值

同理,其他切分点的c1和c2值如下

当切分点s=1.5时,可得损失函数值

同理,其他切分点的损失函数值如下

由上可知,当切分点s=6.5时,损失函数值最小。因此,第一个划分点为(j=x,s=6.5),这是决策树的第一层,划分后可得:

同理,我们进行第二层切分,经计算R1最佳切分点为3.5,R2最佳切分点为8.5,最终决策树如下图所示

代码实现:

import numpy as np
import matplotlib.pyplot as plt
from sklearn import tree, linear_modelx = np.arange(1,11,1).reshape(-1,1)
y = np.array([5.56, 5.70, 5.91, 6.40, 6.80, 7.05, 8.90, 8.70, 9.00, 9.05])# Fit regression model
model1 = tree.DecisionTreeRegressor(max_depth=2)
model2 = linear_model.LinearRegression()
model1.fit(x, y)
model2.fit(x, y)# Predict
# X_test = np.arange(0.0, 12.0, 0.01)[:, np.newaxis]
X_test = np.arange(0.0, 12.0, 0.01).reshape(-1,1)
y1 = model1.predict(X_test)
y2 = model2.predict(X_test)# Plot the results
fig, axs = plt.subplots(1,1)
axs.scatter(x, y, color="black", label="source data")
axs.plot(X_test, y1, color="red", label="max_depth=2", linewidth=2)
axs.plot(X_test, y2, color='black', label='liner regression', linewidth=2)
plt.xlabel("x")
plt.ylabel("y")
plt.title("Decision Tree Regression")
plt.legend()
plt.show()

运行结果:

数据分析——随机森林解决回归问题相关推荐

  1. 数据分析——随机森林解决分类问题

    根据轴承振动数据预测轴承故障,轴承振动数据一共有792组,每组数据包括6000个时间点的振幅.轴承标签数据一共有10类,0表示无故障,1~9分别表示不同的故障. 百度网盘下载训练数据: 链接:http ...

  2. 《scikit-learn》随机森林之回归

    今天我们学习下随机森林做回归的用法 话不多说直接上测试代码,看的更加清晰,总体上和回归树是一样的使用流程 from sklearn.datasets import load_boston from s ...

  3. 随机森林RandomForest回归生物标记预测时间序列

    关于随机森林的简介和应用理论,请阅读之前分享的文章: 一文读懂随机森林在微生态中的应用 关于随机森林进行分类的入门实战,请阅读之前分享的 <RandomForest:随机森林预测生物标记biom ...

  4. 机器学习算法概述:随机森林逻辑回归

    摘要: 机器学习算法入门介绍:随机森林与逻辑回归! 随机森林是用于分类和回归的监督式集成学习模型.为了使整体性能更好,集成学习模型聚合了多个机器学习模型.因为每个模型单独使用时性能表现的不是很好,但如 ...

  5. python大数据之随机森林(回归与分类)

    随机森林在大数据运用中非常的常见,它在预测和回归上相比于SVM,多元线性回归,逻辑回归,多项式回归这些,有着比较好的鲁棒性. 随机森林是一个用随机方式建立的,包含多个决策树的分类器.其输出的类别是由各 ...

  6. R语言随机森林模型回归randomForest

    基于<The influence of the neighbourhood environment on peer-to-peer accommodations: A random forest ...

  7. 随机森林算法初步实现

    随机森林算法是一种灵活,易于使用的机器学习算法,本文主要是实现初步的模型,供大家学习参考. 文章目录 1. 导入数据 2. 划分数据集 3. 数据处理 4. 构建模型 5. 对测试集进行预测 6. 回 ...

  8. 多元随机森林回归(Multivariate Random Forest Regreesor)经验总结

    多元随机森林回归(Multivariate Random Forest Regreesor)经验总结 随机森林 多元回归问题 是否需要分析自变量相关性 最近在使用随机森林解决多元回归问题,本文涉及一些 ...

  9. 【金融】【随机森林】使用随机森林对期货数据(涨跌)进行回归

    [金融][随机森林]使用随机森林对期货数据(涨跌)进行回归 RF-RF_train3year3month 读取数据 划分训练集与数据集,3年+3月,以此类推 取特定数据 Exponential smo ...

最新文章

  1. opencv学习笔记(二)
  2. 【Android 命令行工具】Android 命令行工具简介 ( 官方文档 | SDK 命令行工具 | SDK 构建工具 | SDK 平台工具 | 模拟器工具 | Jetifier 工具 )
  3. 字符串替换ant修改文件中的内容
  4. 三角形描边css,[CSS] tips带有描边的小箭头
  5. express模板引擎 html,Express使用html模板的代码分析
  6. mysql oracle 数据类型转换_Mysql与Oracle之间的数据类型转换
  7. linux重启服务挂载盘消失,如何处理ECS Linux服务器重启服务器、初始化系统后数据盘不见了的情况...
  8. 22_python基础—异常
  9. java判断两个时间区间是否有重合
  10. ASP.NET-关于Global.asax的作用
  11. 魔鬼一样的二分查找模板
  12. 2020年408真题_2020年港澳台联考真题——化学!
  13. 接入网+承载网+核心网
  14. 安卓ps2模拟器_安卓PS2模拟器评测:真魂斗罗,不卡完美运行
  15. python 悬浮窗_python浮窗
  16. SAP中记账汇率和预算汇率的应用配置分析
  17. Openjudge NOI题库 ch0111/10 河中跳房子|NOIP2015 day2 stone
  18. 【WZOI】AC大礼包(1~130)
  19. 揭秘经典案例炼成之道 微信开发者大会精华回顾
  20. missing ‘;‘ before ‘int‘ C语言

热门文章

  1. 下载matlab安装包太慢_软件安装不上,可能是网速慢!Conda/R/pip/brew等国内镜像大全拿走不谢~~...
  2. 《多接入边缘计算(MEC)及关键技术》读书笔记 | 第8章 基于MEC的固移融合
  3. ipc开发之sd卡裸盘存储
  4. 主存中存储单元地址的分配(超详细)
  5. c++实现1到100 猜数字
  6. 从草根到百万年薪程序员的十年风雨之路,细节爆炸
  7. USACO月赛使用攻略
  8. 电气器件系列三十七:多路温度测试仪、温度巡检仪
  9. 熟练掌握python需要多久_《熟》字意思读音、组词解释及笔画数 - 新华字典 - 911查询...
  10. 去掉谷歌浏览器输入框默认的黄色背景