sklearn学习  使用sklearn包的MultiOutputRegressor  处理集成学习(XGBoost GBDT 等)多回归的问题

有些时候 我们需要通过相同的feature来预测多个目标,这个时候就需要使用MultiOutputRegressor包来进行多回归

多输出回归支持 MultiOutputRegressor 可以被添加到任何回归器中。这个策略包括对每个目标拟合一个回归器。因为每一个目标可以被一个回归器精确地表示,通过检查对应的回归器,可以获取关于目标的信息。 因为 MultiOutputRegressor 对于每一个目标可以训练出一个回归器,所以它无法利用目标之间的相关度信息。

以下是 multioutput regression(多输出回归)的示例:

from sklearn.datasets import make_regression # make_regression 是一个制造回归数据集的函数
from sklearn.multioutput import MultiOutputRegressor       
from sklearn.ensemble import GradientBoostingRegressor      # 选用你喜欢的集成学习回归器
X, y = make_regression(n_samples=20, n_targets=2, random_state=1)
MultiOutputRegressor(GradientBoostingRegressor(random_state=0)).fit(X, y).predict(X)

输出为:

array([[ 147.80687245, -105.58289635],
       [  55.91818382,  156.81792489],
       [-215.22554254,  -47.77173448],
       [ 265.13966912,   98.54722282],
       [  -3.70010961,  198.46661489],
       [-251.73133083, -230.45052479],
       [-201.34202992, -191.78198752],
       [ 143.05135316,  136.11525807],
       [ -92.82775669,   15.22841506],
       [ -23.35300958,  -18.53759614],
       [ 200.78494682,   65.0972146 ],
       [-149.83332244,  -11.6712157 ],
       [ 122.8573922 ,  198.36911039],
       [ -60.47749729,  -92.04916976],
       [ 279.55277906,  506.93529487],
       [ 157.66308265,  222.62442361],
       [-280.60036723,  -68.95392183],
       [ -37.0833775 ,  -95.97444789],
       [ 266.66913207,  118.89832747],
       [-123.3883845 ,   92.68319567]])

 

 

 

 

Reference:

https://book.pythontips.com/en/latest/args_and_kwargs.html  传参数

https://sklearn.apachecn.org/docs/master/13.html?h=MultiOutputRegressor  文档

https://blog.csdn.net/Islotus/article/details/78671238     

https://blog.csdn.net/Leytton/article/details/104088143  make_regression

https://zhuanlan.zhihu.com/p/108393576  参考数据集的导入解析

  • 7
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值