zero323 commented on issue #25776: [SPARK-28985][PYTHON][ML] Add common classes (JavaPredictor/JavaClassificationModel/JavaProbabilisticClassifier) in PYTHON URL: https://github.com/apache/spark/pull/25776#issuecomment-533319112 @huaxingao @srowen What about extensibility of such type hierarchy? I'd say it is perfectly valid for Python users to be interested in implementing their own `Classifiers`, `ClassificationModels` and so on, without using JVM backend. With such implementation they can only plug-in at the `Estimator` or `Transformer` level and recreate whole type hierarchy. That is not a new problem (`JavaClassificationModel` set a precedence), but these changes really aggravate it. Wouldn't make more sense to mimic actual Scala hierarchy ClassifierParams`, `Classifier`, `ClassificationModel` and make `Java*` extend these? I am thinking from static type checking perspective, but there are other possible applications here. Additionally I am bit concerned about all the `(Private)` annotations. These are rather useless for Python users. Why not follow PEP-8 and undersocre these (i.e. `_JavaClassifier`)?
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
