Spark 中的 Mllib 如何在逻辑回归中选择变量

数据挖掘 机器学习 大数据 逻辑回归 斯卡拉 阿帕奇火花
2021-09-30 12:30:06

我对 Spark 中的 MLlib 有疑问。(使用 Scala)

我试图了解 LogisticRegressionWithLBFGS 和 LogisticRegressionWithSGD 的工作原理。我通常使用 SAS 或 R 进行逻辑回归,但现在我必须在 Spark 上进行才能分析大数据。

变量选择是如何完成的?在 LogisticRegressionWithLBFGS 或 LogisticRegressionWithSGD 中是否尝试过不同的变量组合?像一个一个变量的显着性测试?或者与感兴趣的变量进行相关性计算?有没有BIC、AIC的计算来选择最好的模型?

因为模型只返回权重和截距...

我如何理解这些 Spark 功能并与我习惯使用的 SAS 或 R 进行比较?

2个回答

首先, LogisticRegressionWithSGD的 spark 编程指南建议改用L-BFGS,所以也许专注于那个。至于变量选择,MLLib 回归页面上的模型描述很好地解释了模型是如何构建和选择的,但它没有解决变量选择。这让我相信它考虑了所有变量,并简单地选择了最适合的模型。

您始终可以通过将弹性网络参数设置为 1 来进行 Lasso 回归: val reg = new LogisticRegression() .setElasticNetParam(1) Lasso 回归会惩罚系数的数量,因此它间接地进行变量选择。

请参阅Spark 的 Mllib 的帮助