Description
Currently, Params.copyValues copies default parameter values to the paramMap of the target instance, rather than the defaultParamMap. It should copy to the defaultParamMap because explicitly setting a parameter can change the semantics.
This issue arose in SPARK-9789, where 2 params "threshold" and "thresholds" for LogisticRegression can have mutually exclusive values. If thresholds is set, then fit() will copy the default value of threshold as well, easily resulting in inconsistent settings for the 2 params.
Attachments
Attachments
Issue Links
- blocks
-
SPARK-9789 Reinstate LogisticRegression threshold Param
- Resolved
- relates to
-
SPARK-11543 spark.ml LogisticRegressionModel should prefer thresholds over threshold
- Resolved
- links to