我一直在使用h2o.ai automl函数处理一些问题并取得了相当大的成功,但是遇到了一些障碍。
我有一个问题,它使用500多个预测变量(全部浮点数)来映射到6个响应(同样全部浮动。)
必需的数据参数
y:此参数是响应列的名称(或索引)。
似乎automl库只处理一个响应。我错过了什么吗?或许甚至在术语中?
如果我不是,我的计划是建立6个单独的排行榜,每个排行榜一个,并使用结果启动手动网络搜索。
理论上我猜我实际上可以单独运行6个automl模型来获得矢量响应,但这感觉就像一个奇怪的方法。
任何见解都会受到赞赏, 欢呼声。
答案 0 :(得分:1)
不仅仅是AutoML,而且H2O通常只会让你预测一件事。
如果没有关于这6项产出代表什么的更多信息,以及它们之间的关系,我可以想到3种方法。
方法1: 6种不同的模型,如你所知。
方法2:训练自动编码器将6维压缩为1维。然后训练您的模型以预测单个值。然后将其展开。 (例如,通过训练数据的查找表,例如,如果您的模型预测为1.123,并且您[1,2,3,4,5,6]由1.122表示,并且[3.14,0,0,3.14,0 ,0]由1.125表示,您可以选择[1,2,3,4,5,6],或者这两个最接近的匹配的加权平均值。)(其他降维方法,如PCA,是相同的想法。)
方法3:如果6个浮点数的可能组合是(相对较小的)有限集,则可以有一个显式的查找表,N个类别。
我假设每个都是连续变量,这就是为什么它们是浮点数,所以我认为方法3将不如方法2.如果6个输出之间的相关/关系非常小,那么方法1将是最好的。