Currently, in spark.ml, an Estimator and its Model (Transformer) both use the same set of parameters. (E.g., LogisticRegression) The problem is that some Estimator parameters are not relevant for Transformers, so it is non-sensical to include them in the Transformers.
Proposal: When a parameter is only relevant to the Estimator, only include it in the Estimator. In these cases, if there is a separate parameter trait (e.g., LogisticRegressionParams), that trait should be separated into a model params trait and an estimator params trait which inherits from the model params:
In cases where the 2 classes use the same set of parameters, then they may share the same params trait.