我正在用matlab中的glmnet做多项式回归,并且有一个大约6-10 in的数据集,这取决于我做测试集的大小。我可以将它加载到内存中,但是glmnetmex似乎无法处理更大规模的培训的整个数据集(例如排除一个数据集)。我怀疑应该有一种方法对glmnetmex的输入进行批量处理,但我似乎无法在文档中找到它。它是否存在,或者您对如何进行其他操作有任何建议吗?如果R版本有解决这个问题的方法,我可以使用R版本。
发布于 2016-08-26 15:01:02
能够将批处理提供给方法需要两件事:
glmnet
有后者,但不幸的是,前者没有。我认为你有几个选择来解决这个问题:
glmnet
代码。MATLAB和R包都是实际优化器的包装器,它是用FORTRAN编写的。两个包装器在将模型变量传递给FORTRAN求解程序之前都会对它们进行新的初始化。您可以尝试修改它以使用预先计算的模型。glmnet
模型,并使用一个加权投票方案(其中每个预测器根据其交叉验证性能进行加权)来进行最终预测。glmnet
一样。我的包确实允许您使用预先计算的模型初始化训练,以及为固定次数的迭代运行训练。不利的一面是,我只有一个二项式的解,而不是一个多项式的。所以,你必须用一比一或一比一的rest方案破解它。https://stackoverflow.com/questions/39111035
复制相似问题