文章目录

  • 代码
  • 运行结果

代码

# 决策树用于拟合
import numpy as np
import matplotlib.pyplot as plt
from sklearn.tree import DecisionTreeRegressorif __name__ == "__main__":# 构造数据N = 100x = np.random.rand(N) * 6 - 3     # [-3,3)# print(x.shape)    # (100,)x.sort()y = np.sin(x) + np.random.randn(N) * 0.05print(y)x = x.reshape(-1, 1)  # 转置后,得到N个样本,每个样本都是1维的print(x)# 决策树分类器dt = DecisionTreeRegressor(criterion='mse', max_depth=9)dt.fit(x, y)x_test = np.linspace(-3, 3, 50).reshape(-1, 1)y_hat = dt.predict(x_test)plt.plot(x, y, 'r*', ms=10, label='Actual')plt.plot(x_test, y_hat, 'g-', linewidth=2, label='Predict')plt.legend(loc='upper left')plt.grid()plt.show()# 比较决策树的深度影响depth = [2, 4, 6, 8, 10]# 颜色clr = 'rgbmy'dtr = DecisionTreeRegressor(criterion='mse')plt.plot(x, y, 'ko', ms=6, label='Actual')x_test = np.linspace(-3, 3, 50).reshape(-1, 1)for d, c in zip(depth, clr):# 设置参数dtr.set_params(max_depth=d)dtr.fit(x, y)y_hat = dtr.predict(x_test)plt.plot(x_test, y_hat, '-', color=c, linewidth=2, label='Depth=%d' % d)plt.legend(loc='upper left')plt.grid(b=True)plt.show()

运行结果

(100,)
[-0.13747212 -0.32696352 -0.34299033 -0.37734289 -0.30216829 -0.41908633-0.42649759 -0.55874875 -0.47470554 -0.50349372 -0.60084058 -0.72667652-0.88731673 -0.85007184 -0.80980603 -0.89046954 -0.92967645 -1.01708456-0.96413472 -1.00831613 -1.06009149 -0.98629175 -0.99021064 -0.88084281-0.90996548 -0.89476142 -0.80952269 -0.83540464 -0.76614234 -0.75365537-0.51213752 -0.53558931 -0.5158306  -0.51753766 -0.47760662 -0.49621367-0.35078086 -0.4007496  -0.37787176 -0.35708106 -0.33543894  0.05607983-0.04710956  0.02358386  0.13753866  0.22134074  0.36428241  0.381515420.42788242  0.47056583  0.47299773  0.57728474  0.69424008  0.688668460.74362813  0.85661517  0.79570145  0.72801613  0.83298817  0.913787560.92111679  1.01043268  0.96942097  0.989228    0.97144073  0.959920220.90630972  0.94775525  1.00992384  1.00577511  1.0092611   1.066418451.01056367  0.92489214  0.99751525  0.9716967   0.90643779  0.934102050.90237971  0.93908154  0.88156985  0.84080906  0.81336031  0.811845130.77923751  0.71039144  0.65860142  0.68686109  0.66221666  0.467245690.49525938  0.33146802  0.26010888  0.33738618  0.2700388   0.251141230.25704015  0.16070012  0.10970704  0.24002726]
[[-2.98291781][-2.84917313][-2.83638979][-2.7860988 ][-2.77855502][-2.71508228][-2.69430568][-2.66073423][-2.61173817][-2.58799644][-2.44903871][-2.25958656][-2.23913379][-2.23306881][-2.22936331][-2.10650054][-1.8938904 ][-1.7209747 ][-1.66178009][-1.41848746][-1.30166897][-1.23206966][-1.21439096][-1.06802454][-1.0338541 ][-0.98878396][-0.97796016][-0.95109667][-0.87134449][-0.80900001][-0.56761021][-0.54240145][-0.53489081][-0.44861858][-0.43542907][-0.42543931][-0.41576859][-0.37648098][-0.36547507][-0.35646849][-0.33521726][ 0.03031728][ 0.03678361][ 0.08126219][ 0.11222954][ 0.18367956][ 0.36263569][ 0.37936774][ 0.39229896][ 0.40675994][ 0.57247375][ 0.59730802][ 0.75540724][ 0.80358303][ 0.8803318 ][ 0.92195617][ 0.92913085][ 0.98071443][ 1.08071656][ 1.1088603 ][ 1.14930987][ 1.32788011][ 1.34569531][ 1.36755187][ 1.40643578][ 1.43714342][ 1.44562189][ 1.51583702][ 1.53488103][ 1.58985047][ 1.6181127 ][ 1.641521  ][ 1.65421212][ 1.6710831 ][ 1.68895352][ 1.76660029][ 1.84145428][ 1.88972944][ 1.96540222][ 1.98953008][ 1.9968826 ][ 2.02694326][ 2.09358637][ 2.22188409][ 2.24214962][ 2.38443801][ 2.38563411][ 2.39967366][ 2.45955993][ 2.59606735][ 2.66426555][ 2.7828691 ][ 2.78397954][ 2.83419346][ 2.84315114][ 2.89945669][ 2.90104871][ 2.97192459][ 2.97521555][ 2.99002727]]


机器学习基础算法19-决策树实践-决策树回归-决策树用于拟合相关推荐

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

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

  2. 小白机器学习基础算法学习必经之路

    https://www.toutiao.com/a6657427848900379150/ 2019-02-14 15:21:13 未来,人工智能是生产力,是变革社会的主要技术力量之一. 掌握人工智能 ...

  3. 【机器学习基础】用Python构建和可视化决策树

    作者|Nikhil Adithyan 编译|VK 来源|Towards Data Science 决策树 决策树是当今最强大的监督学习方法的组成部分.决策树基本上是一个二叉树的流程图,其中每个节点根据 ...

  4. c4.5决策树算法python_Python3实现机器学习经典算法(四)C4.5决策树

    一.C4.5决策树概述 C4.5决策树是ID3决策树的改进算法,它解决了ID3决策树无法处理连续型数据的问题以及ID3决策树在使用信息增益划分数据集的时候倾向于选择属性分支更多的属性的问题.它的大部分 ...

  5. 机器学习基础算法四:逻辑回归算法实验

    逻辑回归算法实验 一.逻辑回归介绍 逻辑回归是一种分类模型 z=WTX=w0+w1x1+w2x2+......+wnxnz =W^{T}X=w^{0}+w^{1}x^{1}+w^{2}x^{2}+.. ...

  6. 【机器学习】十大机器学习基础算法

    十大机器学习算法入门 近年来,机器学习与人工智能已广泛应用于学术与工程,比如数据挖掘.计算机视觉.自然语言处理.生物特征识别.搜索引擎.医学诊断.检测信用卡欺诈.证券市场分析.DNA序列测序.语音和手 ...

  7. 【NLP机器学习基础】从线性回归和Logistic回归开始

    古语常云:"大道至简",万事万物纷繁复杂,最终却归至几个最简单的道理.我常常在想,如今很火的AI领域是否也是如此.将AI真正学懂学会的过程就像一场遥不可及的漫长攀登,起始于晦涩难懂 ...

  8. 深度学习(二) 神经网络基础算法推导与实践

    深度学习的核心就是各种不同的神经网络模型(CNN.RNN.GCN.GNN等)的学习和训练过程.这些神经网络模型的共同点都是一个"黑盒子",通过一定的学习算法将大量数据交给模型训练, ...

  9. 机器学习基础算法概述

    机器学习算法大致可以分为三类: 监督学习算法 (Supervised Algorithms):在监督学习训练过程中,可以由训练数据集学到或建立一个模式(函数 / learning model),并依此 ...

  10. 【机器学习基础】(三):理解逻辑回归及二分类、多分类代码实践

    本文是机器学习系列的第三篇,算上前置机器学习系列是第八篇.本文的概念相对简单,主要侧重于代码实践. 上一篇文章说到,我们可以用线性回归做预测,但显然现实生活中不止有预测的问题还有分类的问题.我们可以从 ...

最新文章

  1. linux 命令 sys_call_table地址,Linux x86_64 内核查找sys_call_table注意事项
  2. 【github干货】主流深度学习开源框架从入门到熟练
  3. boost::describe模块宏BOOST_DESCRIBE_PP_FOR_EACH的测试程序
  4. 倒计时1天:AI在改变一切
  5. 详解.NET Core 依赖注入生命周期
  6. Bloom-Filter算法 简介
  7. 将list的内容转换成固定个数的分组字符串
  8. [下载] Zend studio 8 Windows版
  9. 在Linux下开始C语言的学习
  10. js获取数组中的最大值和最小值的方法汇总
  11. 数据结构基本操作_【算法与数据结构 03】数据处理的基本操作——增删查
  12. Oracle创建新用户一系列操作模板
  13. MT4 缠论双线MACD面积背离指标
  14. HBuilderX报错:ESC[0;31m--> LibSass的二进制文件.....]
  15. 金税盘计算机USB无法识别,金税盘无法识别怎么办
  16. 测试笔记本续航的软件,笔记本续航测试
  17. 【精读】Transformer模型深度解读
  18. 国务院办公厅关于2015年部分节假日安排的通知
  19. 请听一个故事------三个70多岁老人的创业故事(励志)
  20. mysql Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) fo...

热门文章

  1. Windows Server 2008更新后不断重启的问题
  2. 位运算简介及实用技巧(二):进阶篇(1)
  3. C# GUID format参数说明
  4. Altium Designer(一):SCH
  5. 关于js里的那一堆事件
  6. layer 刷新某个页面
  7. vmware 下centos7配置网络
  8. 11.消息摘要算法之MD5
  9. 【P000-004】交易费计算系统,功能类规划
  10. 18、Windows API 图形用户界面(2)