From 72427c3e115daf06f7ad8aa50115a8e0da2c6d62 Mon Sep 17 00:00:00 2001 From: Yanbo Liang Date: Mon, 22 Feb 2016 23:37:09 -0800 Subject: [SPARK-13429][MLLIB] Unify Logistic Regression convergence tolerance of ML & MLlib ## What changes were proposed in this pull request? In order to provide better and consistent result, let's change the default value of MLlib ```LogisticRegressionWithLBFGS convergenceTol``` from ```1E-4``` to ```1E-6``` which will be equal to ML ```LogisticRegression```. cc dbtsai ## How was the this patch tested? unit tests Author: Yanbo Liang Closes #11299 from yanboliang/spark-13429. --- .../mllib/classification/LogisticRegressionSuite.scala | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'mllib/src/test/scala') diff --git a/mllib/src/test/scala/org/apache/spark/mllib/classification/LogisticRegressionSuite.scala b/mllib/src/test/scala/org/apache/spark/mllib/classification/LogisticRegressionSuite.scala index d140545e37..cea0adc55c 100644 --- a/mllib/src/test/scala/org/apache/spark/mllib/classification/LogisticRegressionSuite.scala +++ b/mllib/src/test/scala/org/apache/spark/mllib/classification/LogisticRegressionSuite.scala @@ -667,9 +667,9 @@ class LogisticRegressionSuite extends SparkFunSuite with MLlibTestSparkContext w test("binary logistic regression with intercept with L1 regularization") { val trainer1 = new LogisticRegressionWithLBFGS().setIntercept(true).setFeatureScaling(true) - trainer1.optimizer.setUpdater(new L1Updater).setRegParam(0.12).setConvergenceTol(1E-6) + trainer1.optimizer.setUpdater(new L1Updater).setRegParam(0.12) val trainer2 = new LogisticRegressionWithLBFGS().setIntercept(true).setFeatureScaling(false) - trainer2.optimizer.setUpdater(new L1Updater).setRegParam(0.12).setConvergenceTol(1E-6) + trainer2.optimizer.setUpdater(new L1Updater).setRegParam(0.12) val model1 = trainer1.run(binaryDataset) val model2 = trainer2.run(binaryDataset) @@ -726,9 +726,9 @@ class LogisticRegressionSuite extends SparkFunSuite with MLlibTestSparkContext w test("binary logistic regression without intercept with L1 regularization") { val trainer1 = new LogisticRegressionWithLBFGS().setIntercept(false).setFeatureScaling(true) - trainer1.optimizer.setUpdater(new L1Updater).setRegParam(0.12).setConvergenceTol(1E-6) + trainer1.optimizer.setUpdater(new L1Updater).setRegParam(0.12) val trainer2 = new LogisticRegressionWithLBFGS().setIntercept(false).setFeatureScaling(false) - trainer2.optimizer.setUpdater(new L1Updater).setRegParam(0.12).setConvergenceTol(1E-6) + trainer2.optimizer.setUpdater(new L1Updater).setRegParam(0.12) val model1 = trainer1.run(binaryDataset) val model2 = trainer2.run(binaryDataset) @@ -786,9 +786,9 @@ class LogisticRegressionSuite extends SparkFunSuite with MLlibTestSparkContext w test("binary logistic regression with intercept with L2 regularization") { val trainer1 = new LogisticRegressionWithLBFGS().setIntercept(true).setFeatureScaling(true) - trainer1.optimizer.setUpdater(new SquaredL2Updater).setRegParam(1.37).setConvergenceTol(1E-6) + trainer1.optimizer.setUpdater(new SquaredL2Updater).setRegParam(1.37) val trainer2 = new LogisticRegressionWithLBFGS().setIntercept(true).setFeatureScaling(false) - trainer2.optimizer.setUpdater(new SquaredL2Updater).setRegParam(1.37).setConvergenceTol(1E-6) + trainer2.optimizer.setUpdater(new SquaredL2Updater).setRegParam(1.37) val model1 = trainer1.run(binaryDataset) val model2 = trainer2.run(binaryDataset) @@ -845,9 +845,9 @@ class LogisticRegressionSuite extends SparkFunSuite with MLlibTestSparkContext w test("binary logistic regression without intercept with L2 regularization") { val trainer1 = new LogisticRegressionWithLBFGS().setIntercept(false).setFeatureScaling(true) - trainer1.optimizer.setUpdater(new SquaredL2Updater).setRegParam(1.37).setConvergenceTol(1E-6) + trainer1.optimizer.setUpdater(new SquaredL2Updater).setRegParam(1.37) val trainer2 = new LogisticRegressionWithLBFGS().setIntercept(false).setFeatureScaling(false) - trainer2.optimizer.setUpdater(new SquaredL2Updater).setRegParam(1.37).setConvergenceTol(1E-6) + trainer2.optimizer.setUpdater(new SquaredL2Updater).setRegParam(1.37) val model1 = trainer1.run(binaryDataset) val model2 = trainer2.run(binaryDataset) -- cgit v1.2.3