默认使用 L2正规化的official documentation says
我如何使用L1?
答案 0 :(得分:4)
在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)