我想使用多个变量来预测多个目标。注意多个目标这里并不意味着多标签。
让我们举个这样的例子:
# 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
由于我在数据挖掘方面的经验有限,我发现有两种解决方案可能有所帮助:
y1,y2
[x1,x2,x3]
嵌入[y1,y2]
,这似乎是一个很有前景的解决方案。想知道这样做的良好做法以及预测多个目标的更好方法是什么?
答案 0 :(得分:0)
无论您的方法如何,两个输出意味着您需要两个功能。我希望很明显,产生两个输出的层相当于两个层,每个层产生一个输出。
这里唯一值得考虑的事情(仅与深层模型相关)是您是否要构建输入的中间表示,这些表示是为了预测两个输出而共享的,即x→h1→h2→..→hN,hN →y1,hN→y2。这样做会强制您的hN表示充当任务无关紧要的多用途编码器,同时降低让两个模型学习相同事物的复杂性。
对于浅层架构,例如您描述的单层架构,这是没有意义的。