利用树的集成回归模型RandomForestRegressor/ExtraTreesRegressor/GradientBoostingRegressor进行回归预测(复习11)

本文是个人学习笔记,内容主要基于树的三种集成回归模型RandomForestRegressor,ExtraTreesRegressor以及GradientBoostingRegressor对boston数据集学习回归模型和利用模型预测。

普通的随机森林模型构建的分裂节点时是随机选取特征的,极端随机森林构建每一棵树的分裂节点时,不会任意的选取特征,而是先随机收集一部分特征,然后利用信息熵/基尼指数挑选最佳的节点特征

from sklearn.datasets import load_boston
boston=load_boston()
print(boston.DESCR)   #打印数据描述

这里写图片描述
这里写图片描述

from sklearn.cross_validation import train_test_split
import numpy as np
X=boston.data
y=boston.target
X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=33,test_size=0.25)
print('The max target value is',np.max(boston.target))
print('The min target value is',np.min(boston.target))
print('The average target value is',np.mean(boston.target))

这里写图片描述

from sklearn.preprocessing import StandardScaler

ss_X=StandardScaler()
ss_y=StandardScaler()

X_train=ss_X.fit_transform(X_train)
X_test=ss_X.transform(X_test)
y_train=ss_y.fit_transform(y_train.reshape(-1, 1))
y_test=ss_y.transform(y_test.reshape(-1, 1))
from sklearn.ensemble import RandomForestRegressor,ExtraTreesRegressor,GradientBoostingRegressor

rfr=RandomForestRegressor()
rfr.fit(X_train,y_train)
rfr_y_predict=rfr.predict(X_test)

etr=ExtraTreesRegressor()
etr.fit(X_train,y_train)
etr_y_predict=etr.predict(X_test)

gbr=GradientBoostingRegressor()
gbr.fit(X_train,y_train)
gbr_y_predict=gbr.predict(X_test)
from sklearn.metrics import r2_score,mean_absolute_error,mean_squared_error
print('R-squared value of RandomForestRegressor:',rfr.score(X_test,y_test))
print('The mean squared error of RandomForestRegressor:',mean_squared_error(ss_y.inverse_transform(y_test),
                                                                            ss_y.inverse_transform(rfr_y_predict)))
print('The mean absolute error of RandomForestRegressor:',mean_absolute_error(ss_y.inverse_transform(y_test),
                                                                              ss_y.inverse_transform(rfr_y_predict)))
print(' ')
print('R-squared value of ExtraTreesRegressor:',etr.score(X_test,y_test))
print('The mean squared error of ExtraTreesRegressor:',mean_squared_error(ss_y.inverse_transform(y_test),
                                                                          ss_y.inverse_transform(etr_y_predict)))
print('The mean absolute error of ExtraTreesRegressor:',mean_absolute_error(ss_y.inverse_transform(y_test),
                                                                            ss_y.inverse_transform(etr_y_predict)))
print(' ')
print('R-squared value of GradientBoostingRegressor:',gbr.score(X_test,y_test))
print('The mean squared error of GradientBoostingRegressor:',mean_squared_error(ss_y.inverse_transform(y_test),
                                                                                ss_y.inverse_transform(gbr_y_predict)))
print('The mean absolute error of GradientBoostingRegressor:',mean_absolute_error(ss_y.inverse_transform(y_test),
                                                                                  ss_y.inverse_transform(gbr_y_predict)))

这里写图片描述

很多在工业界的工作者更加青睐集成模型,经常以集成模型的性能表现为基准,与新设计的其他模型性能进行比对。

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ExtraTreesRegressor 是一种随机森林回归模型,它是在 ExtraTreesClassifier 的基础上进行了改进,专门用于进行回归预测。它与普通的决策回归不同,ExtraTreesRegressor 通过在训练过程中对每个决策进行随机化来降低过拟合的风险。 ### 回答2: extratreesregressor是一种机器学习算法,属于模型的一种。它是一种基于决策回归模型,常用于预测连续性变量。 extratreesregressor的工作模式与其他算法类似,它通过一系列的分裂来构建一棵决策,在每一步决策时,它会考虑随机选取的数据样本的一个随机子集及特征的一个随机子集,以此来减小模型的方差,降低过拟合风险。其中,随机子集的数量和大小通过超参数进行控制,需要根据实际情况做出合理的选择。 相比于其他算法,extratreesregressor的优势在于:1)它使用了更多的随机化,从而在训练时减少了过拟合的风险;2)它的计算速度更快,因为它对于每个分裂点都随机选择了特征和样本,从而减少了计算的复杂度,这意味着它对于大规模数据集的应用更加适合。 虽然extratreesregressor具有较好的泛化能力,但它也有一些缺点:1)由于使用了更多的随机化,它在模型训练时的方差较大,因此需要更多的数据样本进行训练,以提高模型的拟合能力;2)受随机化的影响,extratreesregressor在对某些特征有缺失值的数据进行预测时效果较差,因此在实际应用时需要对数据进行预处理。 总的来说,extratreesregressor是一种高效、强大、易用的机器学习算法,在实际应用中有很广泛的应用场景,如商业预测、工业控制、天气预报等领域。 ### 回答3: ExtraTreesRegressor 是一种基于决策的回归算法,常用于机器学习中的数据挖掘和预测,它能够自动处理线性和非线性回归问题,以及特征选择和数据降维,具有较高的准确率和鲁棒性。 在 ExtraTreesRegressor 中,通过随机选择训练样本集和特征集,建立多个决策,通过平均每个的预测值来得到最终的预测结果。这样做的好处是能够降低模型的方差,防止过拟合,提高模型的泛化能力。另外,ExtraTreesRegressor 还引入了随机性因素,如随机选择划分点和随机选取最佳特征,从而进一步增强模型的鲁棒性和稳定性。 在处理数据时,ExtraTreesRegressor 可以处理多种类型的特征,如离散型、连续型、缺失值等,并且可以通过自动选择重要特征的方式,增强模型的可解释性和效果。同时,ExtraTreesRegressor 可以处理大规模数据和高维度数据,所以在大数据场景下有着广泛应用前景。 总之,ExtraTreesRegressor 是一种比较成熟的回归算法,具有较高的准确率、鲁棒性和可解释性,适用于多种类型的数据处理和预测任务,是机器学习中的一种有力工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值