You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Joseph K. Bradley (JIRA)" <ji...@apache.org> on 2015/04/14 03:09:12 UTC

[jira] [Updated] (SPARK-4766) ML Estimator Params should subclass Transformer Params

     [ https://issues.apache.org/jira/browse/SPARK-4766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joseph K. Bradley updated SPARK-4766:
-------------------------------------
    Description: 
Currently, in spark.ml, both Transformers and Estimators extend the same Params classes.  There should be one Params class for the Transformer and one for the Estimator, where the Estimator params class extends the Transformer one.

E.g., it is weird to be able to do:
{code}
val model: LogisticRegressionModel = ...
model.getMaxIter()
{code}

It's also weird to be able to:
* Wrap LogisticRegressionModel (a Transformer) with CrossValidator
* Pass a set of ParamMaps to CrossValidator which includes parameter LogisticRegressionModel.maxIter
* (CrossValidator would try to set that parameter.)
* I'm not sure if this would cause a failure or just be a noop.

  was:
Currently, in spark.ml, both Transformers and Estimators extend the same Params classes.  There should be one Params class for the Transformer and one for the Estimator, where the Estimator params class extends the Transformer one.

E.g., it is weird to be able to do:
{code}
val model: LogisticRegressionModel = ...
model.getMaxIter()
{code}

(This is the only case where this happens currently, but it is worth setting a precedent.)


> ML Estimator Params should subclass Transformer Params
> ------------------------------------------------------
>
>                 Key: SPARK-4766
>                 URL: https://issues.apache.org/jira/browse/SPARK-4766
>             Project: Spark
>          Issue Type: Improvement
>          Components: ML
>    Affects Versions: 1.2.0
>            Reporter: Joseph K. Bradley
>
> Currently, in spark.ml, both Transformers and Estimators extend the same Params classes.  There should be one Params class for the Transformer and one for the Estimator, where the Estimator params class extends the Transformer one.
> E.g., it is weird to be able to do:
> {code}
> val model: LogisticRegressionModel = ...
> model.getMaxIter()
> {code}
> It's also weird to be able to:
> * Wrap LogisticRegressionModel (a Transformer) with CrossValidator
> * Pass a set of ParamMaps to CrossValidator which includes parameter LogisticRegressionModel.maxIter
> * (CrossValidator would try to set that parameter.)
> * I'm not sure if this would cause a failure or just be a noop.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org