python3 学习机器学习api

使用了三种集成回归模型

git: https://github.com/linyi0604/MachineLearning

代码:

  1. from sklearn.datasets import load_boston
  2. from sklearn.cross_validation import train_test_split
  3. from sklearn.preprocessing import StandardScaler
  4. from sklearn.ensemble import RandomForestRegressor, ExtraTreesRegressor, GradientBoostingRegressor
  5. from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error
  6. import numpy as np
  7.  
  8. '''
  9. 随机森林回归
  10. 极端随机森林回归
  11. 梯度提升回归
  12.  
  13. 通常集成模型能够取得非常好的表现
  14. '''
  15.  
  16. # 1 准备数据
  17. # 读取波士顿地区房价信息
  18. boston = load_boston()
  19. # 查看数据描述
  20. # print(boston.DESCR) # 共506条波士顿地区房价信息,每条13项数值特征描述和目标房价
  21. # 查看数据的差异情况
  22. # print("最大房价:", np.max(boston.target)) # 50
  23. # print("最小房价:",np.min(boston.target)) # 5
  24. # print("平均房价:", np.mean(boston.target)) # 22.532806324110677
  25.  
  26. x = boston.data
  27. y = boston.target
  28.  
  29. # 2 分割训练数据和测试数据
  30. # 随机采样25%作为测试 75%作为训练
  31. x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25, random_state=33)
  32.  
  33. # 3 训练数据和测试数据进行标准化处理
  34. ss_x = StandardScaler()
  35. x_train = ss_x.fit_transform(x_train)
  36. x_test = ss_x.transform(x_test)
  37.  
  38. ss_y = StandardScaler()
  39. y_train = ss_y.fit_transform(y_train.reshape(-1, 1))
  40. y_test = ss_y.transform(y_test.reshape(-1, 1))
  41.  
  42. # 4 三种集成回归模型进行训练和预测
  43. # 随机森林回归
  44. rfr = RandomForestRegressor()
  45. # 训练
  46. rfr.fit(x_train, y_train)
  47. # 预测 保存预测结果
  48. rfr_y_predict = rfr.predict(x_test)
  49.  
  50. # 极端随机森林回归
  51. etr = ExtraTreesRegressor()
  52. # 训练
  53. etr.fit(x_train, y_train)
  54. # 预测 保存预测结果
  55. etr_y_predict = rfr.predict(x_test)
  56.  
  57. # 梯度提升回归
  58. gbr = GradientBoostingRegressor()
  59. # 训练
  60. gbr.fit(x_train, y_train)
  61. # 预测 保存预测结果
  62. gbr_y_predict = rfr.predict(x_test)
  63.  
  64. # 5 模型评估
  65. # 随机森林回归模型评估
  66. print("随机森林回归的默认评估值为:", rfr.score(x_test, y_test))
  67. print("随机森林回归的R_squared值为:", r2_score(y_test, rfr_y_predict))
  68. print("随机森林回归的均方误差为:", mean_squared_error(ss_y.inverse_transform(y_test),
  69. ss_y.inverse_transform(rfr_y_predict)))
  70. print("随机森林回归的平均绝对误差为:", mean_absolute_error(ss_y.inverse_transform(y_test),
  71. ss_y.inverse_transform(rfr_y_predict)))
  72.  
  73. # 极端随机森林回归模型评估
  74. print("极端随机森林回归的默认评估值为:", etr.score(x_test, y_test))
  75. print("极端随机森林回归的R_squared值为:", r2_score(y_test, gbr_y_predict))
  76. print("极端随机森林回归的均方误差为:", mean_squared_error(ss_y.inverse_transform(y_test),
  77. ss_y.inverse_transform(gbr_y_predict)))
  78. print("极端随机森林回归的平均绝对误差为:", mean_absolute_error(ss_y.inverse_transform(y_test),
  79. ss_y.inverse_transform(gbr_y_predict)))
  80.  
  81. # 梯度提升回归模型评估
  82. print("梯度提升回归回归的默认评估值为:", gbr.score(x_test, y_test))
  83. print("梯度提升回归回归的R_squared值为:", r2_score(y_test, etr_y_predict))
  84. print("梯度提升回归回归的均方误差为:", mean_squared_error(ss_y.inverse_transform(y_test),
  85. ss_y.inverse_transform(etr_y_predict)))
  86. print("梯度提升回归回归的平均绝对误差为:", mean_absolute_error(ss_y.inverse_transform(y_test),
  87. ss_y.inverse_transform(etr_y_predict)))
  88.  
  89. '''
  90. 随机森林回归的默认评估值为: 0.8391590262557747
  91. 随机森林回归的R_squared值为: 0.8391590262557747
  92. 随机森林回归的均方误差为: 12.471817322834646
  93. 随机森林回归的平均绝对误差为: 2.4255118110236227
  94.  
  95. 极端随机森林回归的默认评估值为: 0.783339502805047
  96. 极端随机森林回归的R_squared值为: 0.8391590262557747
  97. 极端随机森林回归的均方误差为: 12.471817322834646
  98. 极端随机森林回归的平均绝对误差为: 2.4255118110236227
  99.  
  100. GradientBoostingRegressor回归的默认评估值为: 0.8431187344932869
  101. GradientBoostingRegressor回归的R_squared值为: 0.8391590262557747
  102. GradientBoostingRegressor回归的均方误差为: 12.471817322834646
  103. GradientBoostingRegressor回归的平均绝对误差为: 2.4255118110236227
  104. '''

机器学习之路:python 集成回归模型 随机森林回归RandomForestRegressor 极端随机森林回归ExtraTreesRegressor GradientBoostingRegressor回归 预测波士顿房价的更多相关文章

  1. 机器学习之路: python 线性回归LinearRegression, 随机参数回归SGDRegressor 预测波士顿房价

    python3学习使用api 线性回归,和 随机参数回归 git: https://github.com/linyi0604/MachineLearning from sklearn.datasets ...

  2. 机器学习之路:python k近邻回归 预测波士顿房价

    python3 学习机器学习api 使用两种k近邻回归模型 分别是 平均k近邻回归 和 距离加权k近邻回归 进行预测 git: https://github.com/linyi0604/Machine ...

  3. 机器学习之路: python 回归树 DecisionTreeRegressor 预测波士顿房价

    python3 学习api的使用 git: https://github.com/linyi0604/MachineLearning 代码: from sklearn.datasets import ...

  4. 机器学习之路: python k近邻分类器 KNeighborsClassifier 鸢尾花分类预测

    使用python语言 学习k近邻分类器的api 欢迎来到我的git查看源代码: https://github.com/linyi0604/MachineLearning from sklearn.da ...

  5. 机器学习之路: python 决策树分类DecisionTreeClassifier 预测泰坦尼克号乘客是否幸存

    使用python3 学习了决策树分类器的api 涉及到 特征的提取,数据类型保留,分类类型抽取出来新的类型 需要网上下载数据集,我把他们下载到了本地, 可以到我的git下载代码和数据集: https: ...

  6. 机器学习之路--Python

    常用数据结构 1.list 列表 有序集合 classmates = ['Michael', 'Bob', 'Tracy'] len(classmates) classmates[0] len(cla ...

  7. 吴裕雄 python 机器学习——集成学习AdaBoost算法回归模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...

  8. Poisson回归模型

    Poisson回归模型也是用来分析列联表和分类数据的一种方法,它实际上也是对数线性模型的一种,不同点是对数线性模型假定频数分布为多项式分布,而泊松回归模型假定频数分布为泊松分布. 首先我们来认识一下泊 ...

  9. 吴裕雄 python 机器学习——集成学习随机森林RandomForestRegressor回归模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...

随机推荐

  1. 微服务深入浅出(7)-- 网关路由Zuul

    Zuul用于构建边界服务,致力于动态路由,过滤,监控,弹性伸缩和安全等方向. 1.Zuul+Ribbon+Eureka结合,可以实现智能路由和负载均衡 2.网关将所有服务的API接口统一聚合统一暴露 ...

  2. transparent 透明效果

    background-color:transparent;就是把背景色设置为透明. 实际上background默认的颜色就是透明的属性.所以写和不写都是一样的 span{ width: 0; heig ...

  3. LCD时序中设计到的VSPW/VBPD/VFPD/HSPW/HBPD/HFPD总结【转】

    转自:https://blog.csdn.net/u011603302/article/details/50732406 下面是我在网上摘录的一些关于LCD信号所需时钟的一些介绍, 描述方式一: 来自 ...

  4. django Rest Framework----GenericAPIView 通用视图 GenericAPIView源码分析

    一.GenericAPIView GenericAPIView扩展了APIView,为标准列表和详细视图添加了常见的行为. 提供的每个具体通用视图都是一个GenericAPIView或多个mixin类 ...

  5. Jenkins+Ant+TestNG+Testlink自动化构建集成

    这段时间折腾自动化测试,之前都是在Eclipse工程里面手工执行自动化测试脚本,调用Testlink API执行测试用例,目前搭建Jenkins自动化构建测试的方式,实现持续构建,执行自动化测试. 硬 ...

  6. 使用postman做接口测试(二)

    参考大神总结:https://www.cnblogs.com/Skyyj/p/6856728.html 二,下边的东西工作中实际要用到了 1, postman安装 chrome浏览器打开chrome: ...

  7. mysql -> 事务&事务锁_09

    事务的特性 redo undo 锁的隔离级别

  8. centos 升级linux内核

    =============================================== 2018/1/14_第1次修改                       ccb_warlock == ...

  9. 30 C? Go? Cgo!

    C? Go? Cgo! 17 March 2011 Introduction Cgo lets Go packages call C code. Given a Go source file writ ...

  10. python网络编程-paramiko

    python基础学习日志day8-paramiko 一:简介 Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 现有这样的需求:需要使用windows客户端,远程连 ...