top*_*hef 5 regression r classification correlation random-forest
训练数据集非常广泛(大约 200K 个特征)并且非常短(数百个)。显然该数据集占用了大量内存,但 R 读取它没有问题。
然后我训练了随机森林分类器,但它的内存不足。所以我改用更简单的分类器,比如朴素贝叶斯。NB也导致内存不足。
一般来说,内存效率最高的分类器是什么?我怀疑逻辑回归和朴素贝叶斯应该列入名单......
更新:
在使用随机森林之前,我最终使用了特征缩减方法。包插入符号可以提供帮助,但在我的情况下对变量的初始数量没有帮助。
使用的特征缩减:
内存效率最高的算法是基于在线学习(不会将整个数据集加载到内存中,而是一次学习一个实例)和特征哈希(也称为哈希技巧)的算法(它可以将任意大的特征向量转换为通过使用散列来预定义/固定大小)。逻辑回归和线性 SVM 都有在线学习和基于特征哈希的实现(分别归结为逻辑损失或铰链损失的优化)。
我不知道 R 中的实现(可能有,只是不太了解 R 库),但使用这些技术的一个非常可靠且广泛使用的学习器是Vowpal Wabbit。它们也在Scikit-Learn中实现。