更好的模型/算法来预测多个目标

时间:2018-04-08 08:27:23

标签: algorithm machine-learning prediction

我想使用多个变量来预测多个目标。注意多个目标这里并不意味着多标签。

让我们举个这样的例子:

# In this example: x1,x2,x3 are used to predict y1,y2

pd.DataFrame({'x1':[1,2,3],'x2':[2,3,4],'x3':[1,1,1],'y1':[1,2,1],'y2':[2,3,3]})

    x1  x2  x3  y1  y2
0   1   2   1   1   2
1   2   3   1   2   3
2   3   4   1   1   3

由于我在数据挖掘方面的经验有限,我发现有两种解决方案可能有所帮助:

  1. 分别构建两个xgboost模型以预测y1,y2
  2. 使用完全连接的图层将[x1,x2,x3]嵌入[y1,y2],这似乎是一个很有前景的解决方案。
  3. 想知道这样做的良好做法以及预测多个目标的更好方法是什么?

1 个答案:

答案 0 :(得分:0)

无论您的方法如何,两个输出意味着您需要两个功能。我希望很明显,产生两个输出的层相当于两个层,每个层产生一个输出。

这里唯一值得考虑的事情(仅与深层模型相关)是您是否要构建输入的中间表示,这些表示是为了预测两个输出而共享的,即x→h1→h2→..→hN,hN →y1,hN→y2。这样做会强制您的hN表示充当任务无关紧要的多用途编码器,同时降低让两个模型学习相同事物的复杂性。

对于浅层架构,例如您描述的单层架构,这是没有意义的。