@@ -79,7 +79,9 @@ class LogisticRegressionSuite extends MLTest with DefaultReadWriteTest {
7979 generateMultinomialLogisticInput(coefficients, xMean, xVariance,
8080 addIntercept = true , nPoints, seed)
8181
82- sc.parallelize(testData, 4 ).toDF().withColumn(" weight" , rand(seed))
82+ val df = sc.parallelize(testData, 4 ).toDF().withColumn(" weight" , rand(seed))
83+ df.cache()
84+ df
8385 }
8486
8587 multinomialDataset = {
@@ -1130,9 +1132,9 @@ class LogisticRegressionSuite extends MLTest with DefaultReadWriteTest {
11301132 }
11311133
11321134 test(" binary logistic regression with intercept with ElasticNet regularization" ) {
1133- val trainer1 = (new LogisticRegression ).setFitIntercept(true ).setMaxIter(200 )
1135+ val trainer1 = (new LogisticRegression ).setFitIntercept(true ).setMaxIter(120 )
11341136 .setElasticNetParam(0.38 ).setRegParam(0.21 ).setStandardization(true ).setWeightCol(" weight" )
1135- val trainer2 = (new LogisticRegression ).setFitIntercept(true )
1137+ val trainer2 = (new LogisticRegression ).setFitIntercept(true ).setMaxIter( 30 )
11361138 .setElasticNetParam(0.38 ).setRegParam(0.21 ).setStandardization(false ).setWeightCol(" weight" )
11371139
11381140 val model1 = trainer1.fit(binaryDataset)
@@ -1174,7 +1176,7 @@ class LogisticRegressionSuite extends MLTest with DefaultReadWriteTest {
11741176 val coefficientsR = Vectors .dense(0.0 , 0.0 , - 0.1846038 , - 0.0559614 )
11751177 val interceptR = 0.5024256
11761178
1177- assert(model1.intercept ~== interceptRStd relTol 6E-3 )
1179+ assert(model1.intercept ~== interceptRStd relTol 6E-2 )
11781180 assert(model1.coefficients ~== coefficientsRStd absTol 5E-3 )
11791181 assert(model2.intercept ~== interceptR relTol 6E-3 )
11801182 assert(model2.coefficients ~= coefficientsR absTol 1E-3 )
@@ -1677,10 +1679,10 @@ class LogisticRegressionSuite extends MLTest with DefaultReadWriteTest {
16771679 // use tighter constraints because OWL-QN solver takes longer to converge
16781680 val trainer1 = (new LogisticRegression ).setFitIntercept(true )
16791681 .setElasticNetParam(1.0 ).setRegParam(0.05 ).setStandardization(true )
1680- .setMaxIter(300 ).setTol(1e-10 ).setWeightCol(" weight" )
1682+ .setMaxIter(160 ).setTol(1e-10 ).setWeightCol(" weight" )
16811683 val trainer2 = (new LogisticRegression ).setFitIntercept(true )
16821684 .setElasticNetParam(1.0 ).setRegParam(0.05 ).setStandardization(false )
1683- .setMaxIter(300 ).setTol(1e-10 ).setWeightCol(" weight" )
1685+ .setMaxIter(110 ).setTol(1e-10 ).setWeightCol(" weight" )
16841686
16851687 val model1 = trainer1.fit(multinomialDataset)
16861688 val model2 = trainer2.fit(multinomialDataset)
@@ -1767,7 +1769,7 @@ class LogisticRegressionSuite extends MLTest with DefaultReadWriteTest {
17671769 0.0 , 0.0 , 0.0 , 0.0 ), isTransposed = true )
17681770 val interceptsR = Vectors .dense(- 0.44215290 , 0.76308326 , - 0.3209304 )
17691771
1770- assert(model1.coefficientMatrix ~== coefficientsRStd absTol 0.02 )
1772+ assert(model1.coefficientMatrix ~== coefficientsRStd absTol 0.05 )
17711773 assert(model1.interceptVector ~== interceptsRStd relTol 0.1 )
17721774 assert(model1.interceptVector.toArray.sum ~== 0.0 absTol eps)
17731775 assert(model2.coefficientMatrix ~== coefficientsR absTol 0.02 )
@@ -2145,10 +2147,10 @@ class LogisticRegressionSuite extends MLTest with DefaultReadWriteTest {
21452147 test(" multinomial logistic regression with intercept with elasticnet regularization" ) {
21462148 val trainer1 = (new LogisticRegression ).setFitIntercept(true ).setWeightCol(" weight" )
21472149 .setElasticNetParam(0.5 ).setRegParam(0.1 ).setStandardization(true )
2148- .setMaxIter(300 ).setTol(1e-10 )
2150+ .setMaxIter(220 ).setTol(1e-10 )
21492151 val trainer2 = (new LogisticRegression ).setFitIntercept(true ).setWeightCol(" weight" )
21502152 .setElasticNetParam(0.5 ).setRegParam(0.1 ).setStandardization(false )
2151- .setMaxIter(300 ).setTol(1e-10 )
2153+ .setMaxIter(90 ).setTol(1e-10 )
21522154
21532155 val model1 = trainer1.fit(multinomialDataset)
21542156 val model2 = trainer2.fit(multinomialDataset)
@@ -2234,8 +2236,8 @@ class LogisticRegressionSuite extends MLTest with DefaultReadWriteTest {
22342236 0.0 , 0.0 , 0.0 , 0.0 ), isTransposed = true )
22352237 val interceptsR = Vectors .dense(- 0.38857157 , 0.62492165 , - 0.2363501 )
22362238
2237- assert(model1.coefficientMatrix ~== coefficientsRStd absTol 0.01 )
2238- assert(model1.interceptVector ~== interceptsRStd absTol 0.01 )
2239+ assert(model1.coefficientMatrix ~== coefficientsRStd absTol 0.05 )
2240+ assert(model1.interceptVector ~== interceptsRStd absTol 0.1 )
22392241 assert(model1.interceptVector.toArray.sum ~== 0.0 absTol eps)
22402242 assert(model2.coefficientMatrix ~== coefficientsR absTol 0.01 )
22412243 assert(model2.interceptVector ~== interceptsR absTol 0.01 )
@@ -2245,10 +2247,10 @@ class LogisticRegressionSuite extends MLTest with DefaultReadWriteTest {
22452247 test(" multinomial logistic regression without intercept with elasticnet regularization" ) {
22462248 val trainer1 = (new LogisticRegression ).setFitIntercept(false ).setWeightCol(" weight" )
22472249 .setElasticNetParam(0.5 ).setRegParam(0.1 ).setStandardization(true )
2248- .setMaxIter(300 ).setTol(1e-10 )
2250+ .setMaxIter(75 ).setTol(1e-10 )
22492251 val trainer2 = (new LogisticRegression ).setFitIntercept(false ).setWeightCol(" weight" )
22502252 .setElasticNetParam(0.5 ).setRegParam(0.1 ).setStandardization(false )
2251- .setMaxIter(300 ).setTol(1e-10 )
2253+ .setMaxIter(50 ).setTol(1e-10 )
22522254
22532255 val model1 = trainer1.fit(multinomialDataset)
22542256 val model2 = trainer2.fit(multinomialDataset)
0 commit comments