vollmersj / MLJModels.jl

A place for implementations of the MLJ model API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MLJModels

Repository of MLJ model interfaces, and for the MLJ model registry.

MLJ is a machine learning toolbox written entirely in julia, but which interfaces models written in julia and other languages.

Build Status

Selected packages which do not yet provide native MLJ implementations of their models are provided "strap-on" implementations contained in this repository. The implementation code is automatically loaded by MLJ when the relevant package is imported (using "lazy-loading" provided by Requires.jl).

MLJModels also provides a few "built-in" models, such as basic transformers, immediately available to MLJ users. Do using MLJ or using MLJModels and then:

  • Run localmodels() to list built-in models (updated when external models are loaded with @load)

  • Run models() to list all registered models, or see this list.

MLJModels also houses the MLJ Model Registry which administrators can use to register new models implementing the MLJ interface, following these instructions.

The following lists may also be reasonably complete:

Built-in models

  • Transformers (unsupervised models): StaticTransformer, FeatureSelector, UnivariateStandardizer, Standardizer, UnivariateBoxCoxTransformer, OneHotEncoder

  • Constant predictors (for baselines and testing): ConstantRegressor, ConstantClassifier

  • KNNRegressor

External packages and models

Note that for some of these packages, the interface is incomplete; contributions are welcome!

  • Clustering.jl
    • KMeans, KMedoids
  • DecisionTree.jl
    • DecisionTreeClassifier, DecisionTreeRegressor
  • GaussianProcesses.jl
    • GPClassifier
  • GLM.jl
    • LinearRegressor, LinearBinaryClassifier, LinearCountRegressor
  • LIBSVM.jl (note: these models are effectively duplicated by the sklearn models below.)
    • LinearSVC, SVC, NuSVC, NuSVR, EpsilonSVR, OneClassSVM
  • MultivariateStats.jl
    • RidgeRegressor, PCA, KernelPCA, ICA
  • NaiveBayes.jl
    • GaussianNBClassifier, MultinomialNBClassifier, HybridNBClassifier
  • ScikitLearn.jl
    • SVM: SVMClassifier, SVMRegressor, SVMNuClassifier, SVMNuRegressor, SVMLClassifier, SVMLRegressor,
    • Linear Models (regressors): ARDRegressor, BayesianRidgeRegressor, ElasticNetRegressor, ElasticNetCVRegressor, HuberRegressor, LarsRegressor, LarsCVRegressor, LassoRegressor, LassoCVRegressor, LassoLarsRegressor, LassoLarsCVRegressor, LassoLarsICRegressor, LinearRegressor, OrthogonalMatchingPursuitRegressor, OrthogonalMatchingPursuitCVRegressor, PassiveAggressiveRegressor, RidgeRegressor, RidgeCVRegressor, SGDRegressor, TheilSenRegressor
    • Gaussian Processes: GaussianProcessRegressor
    • Ensemble: AdaBoostRegressor, BaggingRegressor, GradientBoostingRegressor, RandomForestRegressor
  • XGBoost.jl
    • XGBoostRegressor, XGBoostClassifier, XGBoostCount

About

A place for implementations of the MLJ model API

License:MIT License


Languages

Language:Julia 100.0%