title: Spark 1.4.0 org.apache.spark.sql.AnalysisException: cannot resolve 'probability' given input columns
body: <p>I am currently using <code>Spark 1.4.0</code>, and started using the <code>ML pipeline framework</code>. </p>
  
  <p>I ran the example program <strong>"ml.JavaSimpleTextClassificationPipeline"</strong> which uses the <code>LogisticRegression</code>. But I wanted to do multiclass classification, so I used <code>DecisionTreeClassifier</code> present in the <code>org.apache.spark.ml.classification</code> package. </p>
  
  <p>The model got trained properly using the <code>fit</code> method, but when testing the model using the <code>print</code> statement from above example, I am getting following error that <strong>'probability'</strong> column is not present. </p>
  
  <p>Is this column present only for <code>LogisticRegression</code>? If so can I see what are the possible columns present after <code>DecisionTreeClassifier</code> predicts the output? </p>
  
  <p>Also, one morething how can I convert the predicted output back to String format if I am using <code>StringIndexer</code>. </p>
  
  <pre><code>org.apache.spark.sql.AnalysisException: cannot resolve 'probability' given input columns id, prediction, labelStr, data, features, words, label;
      at org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.failAnalysis(package.scala:42) 
      at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1$$anonfun$apply$2.applyOrElse(CheckAnalysis.scala:63) 
      at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1$$anonfun$apply$2.applyOrElse(CheckAnalysis.scala:52) 
      at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformUp$1.apply(TreeNode.scala:286) 
      at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformUp$1.apply(TreeNode.scala:286) 
      at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:51) 
      at org.apache.spark.sql.catalyst.trees.TreeNode.transformUp(TreeNode.scala:285) 
      at org.apache.spark.sql.catalyst.plans.QueryPlan.org$apache$spark$sql$catalyst$plans$QueryPlan$$transformExpressionUp$1(QueryPlan.scala:108) 
      at org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$2$$anonfun$apply$2.apply(QueryPlan.scala:123) 
      at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
      at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
      at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) 
      at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) 
      at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) 
      at scala.collection.AbstractTraversable.map(Traversable.scala:105) 
      at org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$2.apply(QueryPlan.scala:122) 
      at scala.collection.Iterator$$anon$11.next(Iterator.scala:328) 
      at scala.collection.Iterator$class.foreach(Iterator.scala:727) 
      at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) 
      at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:48) 
      at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:103) 
      at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:47) 
      at scala.collection.TraversableOnce$class.to(TraversableOnce.scala:273) 
      at scala.collection.AbstractIterator.to(Iterator.scala:1157) 
      at scala.collection.TraversableOnce$class.toBuffer(TraversableOnce.scala:265) 
      at scala.collection.AbstractIterator.toBuffer(Iterator.scala:1157) 
      at scala.collection.TraversableOnce$class.toArray(TraversableOnce.scala:252) 
      at scala.collection.AbstractIterator.toArray(Iterator.scala:1157) 
      at org.apache.spark.sql.catalyst.plans.QueryPlan.transformExpressionsUp(QueryPlan.scala:127) 
      at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1.apply(CheckAnalysis.scala:52) 
      at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1.apply(CheckAnalysis.scala:50) 
      at org.apache.spark.sql.catalyst.trees.TreeNode.foreachUp(TreeNode.scala:98) 
      at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$class.checkAnalysis(CheckAnalysis.scala:50) 
      at org.apache.spark.sql.catalyst.analysis.Analyzer.checkAnalysis(Analyzer.scala:42) 
      at org.apache.spark.sql.SQLContext$QueryExecution.assertAnalyzed(SQLContext.scala:920) 
      at org.apache.spark.sql.DataFrame.&lt;init&gt;(DataFrame.scala:131) 
      at org.apache.spark.sql.DataFrame.org$apache$spark$sql$DataFrame$$logicalPlanToDataFrame(DataFrame.scala:154) 
      at org.apache.spark.sql.DataFrame.select(DataFrame.scala:595) 
      at org.apache.spark.sql.DataFrame.select(DataFrame.scala:611) 
      at org.apache.spark.sql.DataFrame.select(DataFrame.scala:611) 
      at com.xxx.ml.xxx.execute(xxx.java:129) 
  </code></pre>