aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mllib/src/main/scala/org/apache/spark/ml/classification/LogisticRegression.scala8
1 files changed, 8 insertions, 0 deletions
diff --git a/mllib/src/main/scala/org/apache/spark/ml/classification/LogisticRegression.scala b/mllib/src/main/scala/org/apache/spark/ml/classification/LogisticRegression.scala
index dad8dfc84e..c98a78a515 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/classification/LogisticRegression.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/classification/LogisticRegression.scala
@@ -300,6 +300,14 @@ class LogisticRegression @Since("1.2.0") (
s"training is not needed.")
(Vectors.sparse(numFeatures, Seq()), Double.NegativeInfinity, Array.empty[Double])
} else {
+ if (!$(fitIntercept) && numClasses == 2 && histogram(0) == 0.0) {
+ logWarning(s"All labels are one and fitIntercept=false. It's a dangerous ground, " +
+ s"so the algorithm may not converge.")
+ } else if (!$(fitIntercept) && numClasses == 1) {
+ logWarning(s"All labels are zero and fitIntercept=false. It's a dangerous ground, " +
+ s"so the algorithm may not converge.")
+ }
+
val featuresMean = summarizer.mean.toArray
val featuresStd = summarizer.variance.toArray.map(math.sqrt)