aboutsummaryrefslogtreecommitdiff
path: root/mllib
diff options
context:
space:
mode:
Diffstat (limited to 'mllib')
-rw-r--r--mllib/src/main/scala/org/apache/spark/ml/feature/RFormula.scala2
-rw-r--r--mllib/src/main/scala/org/apache/spark/ml/feature/RFormulaParser.scala14
2 files changed, 14 insertions, 2 deletions
diff --git a/mllib/src/main/scala/org/apache/spark/ml/feature/RFormula.scala b/mllib/src/main/scala/org/apache/spark/ml/feature/RFormula.scala
index 2916b6d9df..a7ca0fe252 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/feature/RFormula.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/feature/RFormula.scala
@@ -182,7 +182,7 @@ class RFormula(override val uid: String)
override def copy(extra: ParamMap): RFormula = defaultCopy(extra)
- override def toString: String = s"RFormula(${get(formula)}) (uid=$uid)"
+ override def toString: String = s"RFormula(${get(formula).getOrElse("")}) (uid=$uid)"
}
@Since("2.0.0")
diff --git a/mllib/src/main/scala/org/apache/spark/ml/feature/RFormulaParser.scala b/mllib/src/main/scala/org/apache/spark/ml/feature/RFormulaParser.scala
index 19aecff038..2dd565a782 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/feature/RFormulaParser.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/feature/RFormulaParser.scala
@@ -126,7 +126,19 @@ private[ml] case class ParsedRFormula(label: ColumnRef, terms: Seq[Term]) {
* @param hasIntercept whether the formula specifies fitting with an intercept.
*/
private[ml] case class ResolvedRFormula(
- label: String, terms: Seq[Seq[String]], hasIntercept: Boolean)
+ label: String, terms: Seq[Seq[String]], hasIntercept: Boolean) {
+
+ override def toString: String = {
+ val ts = terms.map {
+ case t if t.length > 1 =>
+ s"${t.mkString("{", ",", "}")}"
+ case t =>
+ t.mkString
+ }
+ val termStr = ts.mkString("[", ",", "]")
+ s"ResolvedRFormula(label=$label, terms=$termStr, hasIntercept=$hasIntercept)"
+ }
+}
/**
* R formula terms. See the R formula docs here for more information: