List of Supported Models
For a list of models organized around function ("classification", "regression", etc.), see the Model Browser.
MLJ provides access to a wide variety of machine learning models. We are always looking for help adding new models or testing existing ones. Currently available models are listed below; for the most up-to-date list, run using MLJ; models()
.
Indications of "maturity" in the table below are approximate, surjective, and possibly out-of-date. A decision to use or not use a model in a critical application should be based on a user's independent assessment.
- experimental: indicates the package is fairly new and/or is under active development; you can help by testing these packages and making them more robust,
- low: indicate a package that has reached a roughly stable form in terms of interface and which is unlikely to contain serious bugs. It may be missing some functionality found in similar packages. It has not benefited from a high level of use
- medium: indicates the package is fairly mature but may benefit from optimizations and/or extra features; you can help by suggesting either,
- high: indicates the package is very mature and functionalities are expected to have been fairly optimiser and tested.
Package | Interface Pkg | Models | Maturity | Note |
---|---|---|---|---|
BetaML.jl | - | DecisionTreeClassifier, RandomForestClassifier, NeuralNetworkClassifier, PerceptronClassifier, KernelPerceptronClassifier, PegasosClassifier, DecisionTreeRegressor, RandomForestRegressor, NeuralNetworkRegressor, MultitargetNeuralNetworkRegressor, GaussianMixtureRegressor, MultitargetGaussianMixtureRegressor, KMeansClusterer, KMedoidsClusterer, GaussianMixtureClusterer, SimpleImputer, GaussianMixtureImputer, RandomForestImputer, GeneralImputer, AutoEncoder | medium | |
CatBoost.jl | - | CatBoostRegressor, CatBoostClassifier | high | |
Clustering.jl | MLJClusteringInterface.jl | KMeans, KMedoids, AffinityPropagation, DBSCAN, HierarchicalClustering | high² | |
DecisionTree.jl | MLJDecisionTreeInterface.jl | DecisionTreeClassifier, DecisionTreeRegressor, AdaBoostStumpClassifier, RandomForestClassifier, RandomForestRegressor | high | |
EvoTrees.jl | - | EvoTreeRegressor, EvoTreeClassifier, EvoTreeCount, EvoTreeGaussian, EvoTreeMLE | medium | tree-based gradient boosting models |
EvoLinear.jl | - | EvoLinearRegressor | medium | linear boosting models |
GLM.jl | MLJGLMInterface.jl | LinearRegressor, LinearBinaryClassifier, LinearCountRegressor | medium² | |
Imbalance.jl | - | RandomOversampler, RandomWalkOversampler, ROSE, SMOTE, BorderlineSMOTE1, SMOTEN, SMOTENC, RandomUndersampler, ClusterUndersampler, ENNUndersampler, TomekUndersampler, | low | |
LIBSVM.jl | MLJLIBSVMInterface.jl | LinearSVC, SVC, NuSVC, NuSVR, EpsilonSVR, OneClassSVM | high | also via ScikitLearn.jl |
LightGBM.jl | - | LGBMClassifier, LGBMRegressor | high | |
FeatureSelector.jl | - | FeatureSelector, RecursiveFeatureElimination | low | |
Flux.jl | MLJFlux.jl | NeuralNetworkRegressor, NeuralNetworkClassifier, MultitargetNeuralNetworkRegressor, ImageClassifier | low | |
MLJBalancing.jl | - | BalancedBaggingClassifier | low | |
MLJLinearModels.jl | - | LinearRegressor, RidgeRegressor, LassoRegressor, ElasticNetRegressor, QuantileRegressor, HuberRegressor, RobustRegressor, LADRegressor, LogisticClassifier, MultinomialClassifier | medium | |
MLJModels.jl (built-in) | - | ConstantClassifier, ConstantRegressor, ContinuousEncoder, DeterministicConstantClassifier, DeterministicConstantRegressor, FillImputer, InteractionTransformer, OneHotEncoder, Standardizer, UnivariateBoxCoxTransformer, UnivariateDiscretizer, UnivariateFillImputer, UnivariateTimeTypeToContinuous, Standardizer, BinaryThreshholdPredictor | medium | |
MLJText.jl | - | TfidfTransformer, BM25Transformer, CountTransformer | low | |
MultivariateStats.jl | MLJMultivariateStatsInterface.jl | LinearRegressor, MultitargetLinearRegressor, RidgeRegressor, MultitargetRidgeRegressor, PCA, KernelPCA, ICA, LDA, BayesianLDA, SubspaceLDA, BayesianSubspaceLDA, FactorAnalysis, PPCA | high | |
NaiveBayes.jl | MLJNaiveBayesInterface.jl | GaussianNBClassifier, MultinomialNBClassifier, HybridNBClassifier | low | |
NearestNeighborModels.jl | - | KNNClassifier, KNNRegressor, MultitargetKNNClassifier, MultitargetKNNRegressor | high | |
OneRule.jl | - | OneRuleClassifier | experimental | |
OutlierDetectionNeighbors.jl | - | ABODDetector, COFDetector, DNNDetector, KNNDetector, LOFDetector | medium | |
OutlierDetectionNetworks.jl | - | AEDetector, DSADDetector, ESADDetector | medium | |
OutlierDetectionPython.jl | - | ABODDetector, CBLOFDetector, CDDetector, COFDetector, COPODDetector, ECODDetector, GMMDetector, HBOSDetector, IForestDetector, INNEDetector, KDEDetector, KNNDetector, LMDDDetector, LOCIDetector, LODADetector, LOFDetector, MCDDetector, OCSVMDetector, PCADetector, RODDetector, SODDetector, SOSDetector | high | |
ParallelKMeans.jl | - | KMeans | experimental | |
PartialLeastSquaresRegressor.jl | - | PLSRegressor, KPLSRegressor | experimental | |
PartitionedLS.jl | - | PartLS | low | |
ScikitLearn.jl | MLJScikitLearnInterface.jl | ARDRegressor, AdaBoostClassifier, AdaBoostRegressor, AffinityPropagation, AgglomerativeClustering, BaggingClassifier, BaggingRegressor, BayesianLDA, BayesianQDA, BayesianRidgeRegressor, BernoulliNBClassifier, Birch, ComplementNBClassifier, DBSCAN, DummyClassifier, DummyRegressor, ElasticNetCVRegressor, ElasticNetRegressor, ExtraTreesClassifier, ExtraTreesRegressor, FeatureAgglomeration, GaussianNBClassifier, GaussianProcessClassifier, GaussianProcessRegressor, GradientBoostingClassifier, GradientBoostingRegressor, HuberRegressor, KMeans, KNeighborsClassifier, KNeighborsRegressor, LarsCVRegressor, LarsRegressor, LassoCVRegressor, LassoLarsCVRegressor, LassoLarsICRegressor, LassoLarsRegressor, LassoRegressor, LinearRegressor, LogisticCVClassifier, LogisticClassifier, MeanShift, MiniBatchKMeans, MultiTaskElasticNetCVRegressor, MultiTaskElasticNetRegressor, MultiTaskLassoCVRegressor, MultiTaskLassoRegressor, MultinomialNBClassifier, OPTICS, OrthogonalMatchingPursuitCVRegressor, OrthogonalMatchingPursuitRegressor, PassiveAggressiveClassifier, PassiveAggressiveRegressor, PerceptronClassifier, ProbabilisticSGDClassifier, RANSACRegressor, RandomForestClassifier, RandomForestRegressor, RidgeCVClassifier, RidgeCVRegressor, RidgeClassifier, RidgeRegressor, SGDClassifier, SGDRegressor, SVMClassifier, SVMLClassifier, SVMLRegressor, SVMNuClassifier, SVMNuRegressor, SVMRegressor, SpectralClustering, TheilSenRegressor | high² | |
SIRUS.jl | - | StableForestClassifier, StableForestRegressor, StableRulesClassifier, StableRulesRegressor | low | |
SymbolicRegression.jl | - | MultitargetSRRegressor, SRRegressor | experimental | |
TSVD.jl | MLJTSVDInterface.jl | TSVDTransformer | high | |
XGBoost.jl | MLJXGBoostInterface.jl | XGBoostRegressor, XGBoostClassifier, XGBoostCount | high |
Notes
¹Models not in the MLJ registry are not included in integration tests. Consult package documentation to see how to load them. There may be issues loading these models simultaneously with other registered models.
²Some models are missing and assistance is welcome to complete the interface. Post a message on the Julia #mlj Slack channel if you would like to help, thanks!