Renaming classes in gemseo.mlearning

In the literature, ML algorithms are divided into two families: supervised and unsupervised ML algorithms. So the class names BaseMLAlgo, BaseMLSupervisedAlgo and BaseMLUnsupervisedAlgo are natural.

Then, the terms clusterer, classifier and regressor are popular, even if the expressions clustering algorithms, classification algorithms and regression algorithms exist. We could use BaseRegressor instead of BaseMLRegressionAlgo, which is shorter, more manageable and readable name (same for the others).

Lastly, based on these changes, BaseRegressorQuality would be more appropriate than BaseMLErrorMeasure to measure the quality of a BaseRegressor with a BaseRegressorQuality.compute_xxx_measure method. Similarly, the suffix Measure should be removed from the quality mesures. Note that in the current API, both the class name and the method name include the term measure, which is weird: Quality(algo).compute_xxx_measure() would be more appropriate than Measure(algo).compute_xxx_measure()

API changes from old to new

  • BaseMLQualityMeasure: BaseMLAlgoQuality
  • BaseMLClusteringMeasure: BaseClustererQuality
  • BaseMLErrorMeasure: BaseRegressorQuality
  • BaseMLClusteringAlgo: BaseClusterer
  • BaseMLRegressionAlgo: BaseRegressor
  • BaseMLClassificationAlgo: BaseClassifier
  • MLErrorMeasureFactory: RegressorQualityFactory
  • MSEMeasure: MSE (and same for the other mesures: remove the suffix)

Add new classes

  • BaseClassifierQuality
  • ClustererQualityFactory
  • ClassifierQualityFactory
Edited by Matthias De Lozzo