我正在 16 核机器上运行 glmnet,支持套索回归。我有一些稀疏矩阵格式的 800K 行和大约 2K 列,应该对其进行训练以预测第一列中的概率。
这个过程变得非常缓慢。我想知道有什么办法可以加快速度 要么通过在 nfold 上并行化,要么我可以选择更少的行数而不影响准确性。是否可以?如果可以的话,怎么办比较好?
最佳答案
可以通过使用并行化来加快该过程,如上面的评论链接中所述 executing glmnet in parallel in R一旦指定了核心数量,就可以通过在 cv.glmnet() 函数中设置 parallel=TRUE 选项来完成:
library(doParallel)
registerDoParallel(5)
m <- cv.glmnet(x, y, family="binomial", alpha=0.7, type.measure="auc",
grouped=FALSE, standardize=FALSE, parallel=TRUE)
减少行数更多的是根据测试集上的 AUC 值进行判断。如果它高于阈值,并且减少行数不会影响这一点,那么这当然是一个好主意。
关于r - 用于准确预测的数据集中的最小行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645316/