【问题标题】:How to use L1 Regularization for LogisticRegressionWithLBFGS in spark MLlib如何在 spark MLlib 中对 LogisticRegressionWithLBFGS 使用 L1 正则化
【发布时间】:2016-10-05 00:22:04
【问题描述】:

official documentation says 表示:默认使用 L2 正则化

如何使用 L1?

【问题讨论】:

    标签: apache-spark machine-learning apache-spark-mllib apache-spark-ml


    【解决方案1】:

    在 MLLib 中,您必须按如下方式设置优化器更新器:

    import org.apache.spark.mllib.classification.LogisticRegressionWithLBFGS
    import org.apache.spark.mllib.optimization.L1Updater
    
    val lr: LogisticRegressionWithLBFGS = ???
    val training: RDD[LabeledPoint] = ???
    
    lr.optimizer.setUpdater(new L1Updater)
    lr.run(training)
    

    在 ML 中,您可以将 setElasticNetParam 设置为 1.0:

    import org.apache.spark.ml.regression.LinearRegression
    
    val training: DataFrame = ???
    
    val lr = new LinearRegression().setElasticNetParam(1.0)
    lr.fit(training)
    

    【讨论】:

      猜你喜欢
      • 2016-10-25
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-12
      • 2023-03-21
      • 2017-07-30
      • 1970-01-01
      相关资源
      最近更新 更多