A base Julia interface for machine learning and statistics
New contributions welcome. See the road map.
LearnAPI.jl provides for variations and elaborations on the following basic pattern in machine learning and statistics:
model = fit(learner, data)
predict(model, newdata)
Here learner
specifies the configuration the algorithm (the hyperparameters) while
model
stores learned parameters and any byproducts of algorithm execution.
LearnAPI.jl is mostly method stubs and lots of documentation. It does not provide meta-algorithms, such as cross-validation, hyperparameter optimization, or model composition, but does aim to support such algorithms.
-
MLCore.jl: The default sub-sampling API (
getobs
/numbobs
) for LearnAPI.jl implementations, which supports tables and arrays. -
LearnTestAPI.jl: Package to test implementations of LearnAPI.jl (but documented here)
-
LearnDataFrontEnds.jl: For including flexible, user-friendly, data front ends for LearnAPI.jl implementations (docs)
-
StatisticalMeasures.jl: Package providing metrics, compatible with LearnAPI.jl
-
StatsModels.jl: Provides the R-style formula implementation of data preprocessing handled by LearnDataFrontEnds.jl
The following alphabetical list of packages provide public base API's. Some provide additional functionality. PR's to add missing items welcome.
-
FastAI.jl (focused on deep learning)
-
LearnBase.jl (now archived but of historical interest)
-
MLUtils.jl (more than a base API, focused on deep learning)
-
ScikitLearn.jl (an API in addition to being a wrapper for scikit-learn)
-
StatsAPI.jl (specialized to needs of traditional statistical models)
Created by Anthony Blaom, in cooperation with Cameron Bieganek and other members of the Julia community.