There have been quite a few releases (two breaking) since our last announcement. Here are some highlights, available in MLJ 0.18.
We have added a new tutorial focused on the practicing data scientist transitioning from another platform, such as scikit-learn or caret.
For improved robustness, pipelines are no longer created with a macro. Every pipeline is just an instance of a single parameterized type
Pipeline, with a constructor of the same name. However, unless you have special options to specify, you just combine models using the
using MLJ LinearRegressor = @load LinearRegressor pkg=MLJLinearModels add=true PCA = @load PCA pkg=MultivariateStats add=true pipe1 = MLJBase.table |> ContinuousEncoder |> Standardizer pipe2 = PCA |> LinearRegressor pipe3 = pipe1 |> pipe2
Transformation of the target (with post-prediction inversion) is no longer available in pipelines, but provided instead by the
TransformedTarget(model, ...) model wrapper.
Serialization (Olivier Labayle @olivierlabayle)
Serialization in MLJ has changed. The previous
MLJ.save(mach) method still works, but you can only save using Julia’s native JLS format in this way (and the new format is not backwards compatible). However, a new workflow allows for serialization using any generic serializer; serialization plays nicely with model composition and model wrappers, such as
EnsembleModel (even for non-Julia atomic models); and training data will not be inadvertently serialized.