mljet icon indicating copy to clipboard operation
mljet copied to clipboard

Support other ML frameworks

Open qnbhd opened this issue 3 years ago • 0 comments

Checklist:

  • [x] Sklearn
  • [x] XGBoost
  • [x] CatBoost
  • [x] LightGBM
  • [ ] LightAutoML
  • [ ] Torch
  • [ ] Tensorflow
  • [ ] Fedot
  • [ ] Prophet ...

After researching, we looked at the main ML frameworks in use and generated the following YAML file to help us navigate through the existing frameworks and their features.

Each entry contains:

  • name - name of the framework/library
  • pytype - object type
  • predret_type - type of the object returned in the predict-like method
  • redmro - MRO for the object used as a model, except for object type.
-   name: RandomForestClassifier
    predret_type: numpy.ndarray
    pytype: sklearn.ensemble._forest.RandomForestClassifier
    redmro:
      - sklearn.ensemble._forest.RandomForestClassifier
      - sklearn.ensemble._forest.ForestClassifier
      - sklearn.base.ClassifierMixin
      - sklearn.ensemble._forest.BaseForest
      - sklearn.base.MultiOutputMixin
      - sklearn.ensemble._base.BaseEnsemble
      - sklearn.base.MetaEstimatorMixin
      - sklearn.base.BaseEstimator

-   name: CatBoostClassifier
    predret_type: numpy.ndarray
    pytype: catboost.core.CatBoostClassifier
    redmro:
      - catboost.core.CatBoostClassifier
      - catboost.core.CatBoost
      - catboost.core._CatBoostBase

-   name: XGBClassifier
    predret_type: numpy.ndarray
    pytype: xgboost.sklearn.XGBClassifier
    redmro:
      - xgboost.sklearn.XGBClassifier
      - xgboost.sklearn.XGBModel
      - sklearn.base.BaseEstimator
      - sklearn.base.ClassifierMixin

-   name: LGBMClassifier
    predret_type: numpy.ndarray
    pytype: lightgbm.sklearn.LGBMClassifier
    redmro:
      - lightgbm.sklearn.LGBMClassifier
      - lightgbm.sklearn.LGBMModel
      - sklearn.base.BaseEstimator
      - sklearn.base.ClassifierMixin

-   name: Torch
    predret_type: torch.Tensor
    pytype: torch.nn.modules.container.Sequential
    redmro:
      - torch.nn.modules.container.Sequential
      - torch.nn.modules.module.Module

-   name: Tensorflow
    predret_type: numpy.ndarray
    pytype: keras.engine.sequential.Sequential
    redmro:
      - keras.engine.sequential.Sequential
      - keras.engine.functional.Functional
      - keras.engine.training.Model
      - keras.engine.base_layer.Layer
      - tensorflow.python.module.module.Module
      - tensorflow.python.trackable.autotrackable.AutoTrackable
      - tensorflow.python.trackable.base.Trackable
      - keras.utils.version_utils.LayerVersionSelector
      - keras.utils.version_utils.ModelVersionSelector

-   name: Prophet
    predret_type: pandas.core.frame.DataFrame
    pytype: prophet.forecaster.Prophet
    redmro:
      - prophet.forecaster.Prophet
    
    name: LightAutoML
    predret_type: lightautoml.dataset.np_pd_dataset.NumpyDataset
    pytype: lightautoml.automl.presets.tabular_presets.TabularAutoML
    redmro:
      - lightautoml.automl.presets.tabular_presets.TabularAutoML
      - lightautoml.automl.presets.base.AutoMLPreset
      - lightautoml.automl.base.AutoML

    name: Fedot
    predret_type: numpy.ndarray
    pytype: fedot.api.main.Fedot
    redmro:
      - fedot.api.main.Fedot

qnbhd avatar Nov 19 '22 18:11 qnbhd