[ https://issues.apache.org/jira/browse/SPARK-10691?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14903070#comment-14903070 ]
Joseph K. Bradley commented on SPARK-10691: ------------------------------------------- We could document that `evaluate` calls `transform`, so users can change model parameters before calling evaluate. Or, we can have it like transform and take a ParamMap to configure parameters. I'm not sure how to handle extra parameters such as binning for evaluation metrics. However, if a user knows enough to want to adjust something like binning, then they should be able to do evaluation manually easily. I'm ambivalent about `evaluate` vs `score`. > Make LogisticRegressionModel.evaluate() method public > ----------------------------------------------------- > > Key: SPARK-10691 > URL: https://issues.apache.org/jira/browse/SPARK-10691 > Project: Spark > Issue Type: Improvement > Components: ML > Affects Versions: 1.5.0 > Reporter: Hao Ren > > The following method in {{LogisticRegressionModel}} is marked as {{private}}, > which prevents users from creating a summary on any given data set. Check > [here|https://github.com/feynmanliang/spark/blob/d219fa4c216e8f35b71a26921561104d15cd6055/mllib/src/main/scala/org/apache/spark/ml/regression/LinearRegression.scala#L272]. > {code} > // TODO: decide on a good name before exposing to public API > private[classification] def evaluate(dataset: DataFrame) > : LogisticRegressionSummary = { > new BinaryLogisticRegressionSummary( > this.transform(dataset), > $(probabilityCol), > $(labelCol)) > } > {code} > This method is definitely necessary to test model performance. > By the way, the name {{evaluate}} is already pretty good for me. > [~mengxr] Could you check this ? Thx -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org