多输入多输出回归模型(Multiple Input - Multiple Output)

大家所熟悉的机器学习算法的回归结果通常就是一个变量,而最近项目中遇到一个问题,希望利用多输入变量预测多输出变量,也就是multiple input -multiple output。拿到这个问题,我的思路有两个,一个是利用神经网络算法,毕竟其自身的构造特点就是多输入多输出;另一个是对每一个输出变量构造回归模型,有几个输出就有几个回归模型,当然最好都用同一种算法。在自己思考过后,在网上查阅了资料发现,原来处理多输入多输出回归问题,还有其它高效的处理办法。
具体操作见文献1,具体操作都以python中的sklearn为例,不再赘述,这里仅将该文章中的做法进行归纳。
一、固有的多输出回归算法
以下算法(不局限于列举内容)自身支持多输出回归预测,无需改造。
1、线性回归
2、K近邻
3、随机森林
二、包装器多输出回归算法
以下方法需要对现有算法进行适当加工后,实现多输出回归。
1、每个输出的单独模型
其思想与我的第一种想法一致,直接借助python中的MultiOutputRegressor即可轻松实现。
2、每个输出的链接模型
其核心思想是创建线性模型序列,即:序列中的第一个模型使用输入并预测一个输出。第二模型使用第一模型的输入和输出进行预测;第三个模型使用前两个模型的输入和输出进行预测,依此类推。
使用scikit-learn库中的RegressorChain类来实现。
总结:
有时候当我们遇到一个问题时,我们要勤于思考,有属于自己的一个或者几个想法,之后再尝试查找资料,看别人是怎么处理同类问题的,这个过程能验证我们想法的可行性,或许还能发现更加高效的处理方法。

参考文献:
【1】https://zhuanlan.zhihu.com/p/139746972
【2】https://www.zhihu.com/question/391160005

  • 36
    点赞
  • 145
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值