Skip to content

Releases: JuliaAI/MLJ.jl

v0.18.0

07 Apr 00:35
14fae0b
Compare
Choose a tag to compare

MLJ v0.18.0

Diff since v0.17.3

This release supports changes appearing in the upstream package releases
listed below (click on package for detailed release notes).

The principal change, which is breaking, is how model
serialization
works. The previous MLJ.save method still works, but
you can only save to Julia JLS files, and the format is
new and not backwards compatible. A new workflow allows for
serialization using any generic serializer; serialization now plays
nicely with model composition and model wrappers, such as TunedModel
and EnsembleModel (even with non-Julia atomic models),
and training data will not be inadvertently serialized.

Refer to this manual page details.

The package MLJSerialization has been dropped as a dependency as
serialization functionality has moved to MLJBase.

Closed issues:

  • Use of ScientificTypes and CategoricalArrays in native model (#907)
  • Broken tutorial link (#917)
  • For a 0.18 release (#920)

Merged pull requests:

v0.17.3

08 Mar 05:34
7030e17
Compare
Choose a tag to compare

MLJ v0.17.3

Diff since v0.17.2

Merged pull requests:

  • Add documentation for the new model docstring standard (#906) (@ablaom)
  • For a 0.17.2 release (#912) (@ablaom)

v0.17.2

07 Mar 03:48
0c4d173
Compare
Choose a tag to compare

MLJ v0.17.2

Diff since v0.17.1

Closed issues:

  • Discussion: Outlier Detection API in MLJ (#780)
  • Is MLJ ready for Julia 1.7? (#869)
  • Documentation of 'Common MLJ Workflows' shows wrong partition syntax (#894)
  • [Discussion] Review model documentation strings (#898)
  • Update list of models in docs for MLJText model change (#900)
  • Proposal for new Model docstrings standard (#901)

Merged pull requests:

  • Documentation fix. No new release (#895) (@ablaom)
  • Explain outlier detection models (#896) (@davnn)
  • Update list_of_supported_models.md (#897) (@zsz00)
  • Remove binder notebook from readme and documentation (#902) (@ablaom)
  • BagOfWordsTransformer -> CountTransformer in List of Models (#903) (@ablaom)
  • A number of documentation updates. No new release. (#904) (@ablaom)
  • Tweak docs for nodes (#905) (@ablaom)
  • Export UnivariateFillImputer (#909) (@ablaom)
  • For a 0.17.2 release (#910) (@ablaom)

v0.17.1

19 Jan 23:57
6d6932f
Compare
Choose a tag to compare

MLJ v0.17.1

Diff since v0.17.0

  • Programatically export all measure types, aliases and instances, which catches a few previously missed cases (#892)
  • Programatically export almost all model and measure traits (#892)
  • Bump MLJBase requirement to ensure built-in measure instances (eg log_loss) have doc-strings.

Closed issues:

  • Extend model serialization to composite models with a components needing specialised serialization (#678)
  • New measures RSquared and aliases rsq, rsquared need exporting (#880)
  • Re-export all traits. (#888)
  • What does MLJ.save really save? (#889)
  • Programmatically re-export measures and their aliases from MLJBase (#890)

Merged pull requests:

v0.17.0

29 Dec 03:56
f891cf8
Compare
Choose a tag to compare

MLJ v0.17.0

Diff since v0.16.11

Bumps the versions of the following dependencies:

Following are the changes relevant to most users. Developers and advanced users can refer to the release notes linked above for a complete list.

  • (breaking) schema(X) no longer includes the nrows property. Use nrows(X) instead (JuliaAI/MLJBase.jl#698)

  • (mildly breaking) unpack(table, p1, p2, ...) now includes an extra component in its return value, namely a table with all columns not selected by any of the predicates p1, p2, ... Frequently, users' existing code will safely ignore the extra component (JuliaAI/MLJBase.jl#691)

  • (breaking) Change syntax EnsembleModel(atom=...) to EnsembleModel(model=...) for consistency with other MLJ model wrappers (eg, TunedModel) but additionally allow passing model as non-keyword argument, as in EnsembleModel(my_tree, ...).

  • (breaking) The default scale for unbounded NumericRanges is changed from :log to :log10 (JuliaAI/MLJBase.jl#677).

  • (breaking) Remove deprecated code for exporting learning networks by hand (JuliaAI/MLJBase.jl#643), which should instead be achieved using return! method (docs).

  • (mildly breaking) The range(model, :hyperparameter, ...) constructor now tries to infer type information for the range from the corresponding model struct field type for :hyperparameter, rather than from the type of the current value (JuliaAI/MLJBase.jl#666)

  • (breaking) Dissallow previously deprecated use of wrapped_model=... in BinaryThresholdPredictor. Correct syntax is BinaryThresholdPredictor(model=...) or BinaryThresholdPredictor(model, ...) (https://github.com/JuliaAI/MLJModels.jl/421)

  • (enhancement) Add a new Pipeline type for constructing pipelines without macros. Pipelines are to be constructed using the syntax model1 |> model2 |> ... or with the constructor Pipeline which exposes more options. The @pipeline macro is deprecated (JuliaAI/MLJBase.jl#664)

  • (enhancement) Add the metamodel TransformedTargetModel for wrapping supervised models in transformations of the target variable, which can be learned transformations (eg, standardisation). Previously this functionality was available as part of @pipeline (JuliaAI/MLJBase.jl#678)

  • (enhancement) The partition function can now be called with a tuple of data arguments, for "synchronised" partitioning, but this requires specifying multi=true (because some tables are tuples) as in (Xtrain, ytrain), (Xtest, ytest) = partition((X, y), 0.6, rng=123, multi=true) (JuliaAI/MLJBase.jl#696)

  • (enhancement) Create a way to include the state, after training, of arbitrary nodes of a learning network, in the report of a model created by exporting the learning network (JuliaAI/MLJBase.jl#644)

  • (new models) Add the following new models to the registry from MLJText.jl: BM25Transformer, BagOfWordsTransformer (https://github.com/JuliaAI/MLJModels.jl/419)

  • (enhancement) Implement the Tables.jl interface for objects returned by schema (JuliaAI/ScientificTypes.jl#174)

Closed issues:

  • Add facility to quickly define a model stack with meta-learner (#76)
  • Bug in MultinomialNBClassifier (#97)
  • Add docs for 'pipe' syntax (#231)
  • Use alphabetical ordering for ambiguous provider package (#257)
  • FAQ for Julia Meetup 22.10.2019 (#286)
  • More arrows (#307)
  • Support for class weights (and interpretation) (#328)
  • Visualizing hyperparameter tuning results for arbitrary numbers of parameters (#416)
  • Check number of levels of y_train before calling fit (#542)
  • @load_MNIST (#584)
  • Programmatic creation of pipelines (#594)
  • Unable to retrieve machine in Mac which is saved from Windows (#840)
  • Broken Link (#858)
  • Problems with compilation failure due to "ArrayLikeVariate not defined" (#863)
  • @pipeline throws LoadError/UndefVarError in Pluto notebook (#865)
  • transformations like in R with formulas y ~ a + a * b + b^3. (#867)
  • Loading a Flux model into a MLJ machine (#870)
  • Stratified CV not working - LoadError: MethodError: no method matching iterate(::CategoricalValue{String, UInt32}) (#871)
  • Add new MLJText models to list of models (#872)
  • Add doc-string for PerformanceEvaluation to manual (#873)
  • Add entry to manual explaining new interface point for exported learning networks. (#875)

Merged pull requests:

v0.16.11

29 Oct 03:28
11d0369
Compare
Choose a tag to compare

MLJ v0.16.11

Diff since v0.16.10

Merged pull requests:

v0.16.10

18 Oct 00:49
bdc268a
Compare
Choose a tag to compare

MLJ v0.16.10

Diff since v0.16.9

Closed issues:

  • Link to video to learn design patterns in julia is broken (#850)
  • re-export MLJIteration (#853)

Merged pull requests:

v0.16.9

05 Oct 04:29
3b0291d
Compare
Choose a tag to compare

MLJ v0.16.9

Diff since v0.16.8

Closed issues:

  • Document the Explicit tuning strategy (#822)
  • Add TSVD transformer to list of models (#824)
  • Remove @234 business from display of MLJ objects? (#842)
  • Inconsistent output type for different clustering models (#846)

Merged pull requests:

v0.16.8

07 Sep 05:04
4a094ee
Compare
Choose a tag to compare

MLJ v0.16.8

Diff since v0.16.7

Closed issues:

  • Issue to tag new releases (#571)
  • Migrate packages to JuliaAI (#765)
  • export training_losses (#772)
  • Add link to support channel if an official channel exists (#773)
  • Saving the out of sample Loss in iterated models (#793)
  • Have evaluate! automatically run the right kinds of predictions for each metric (#795)
  • Update "Traits" section of "Adding models for general use" in the manual (#799)
  • export Stack (#804)
  • "applicable method may be too new" error instantiating models loaded in function scope with @load (#809)
  • Following end-to-end tutorial on AMES but got error (#815)
  • Test dependency related fail in CI (#817)
  • MLJ: machine / evaluate! are random in unclear ways (#823)
  • Document hyper-parameter access requirements to ensure compatibility with MLJTuning API (#827)
  • r2 metrics (#830)
  • Error MLJ in linux (#833)

Merged pull requests:

v0.16.7

01 Jul 09:01
974cd90
Compare
Choose a tag to compare

MLJ v0.16.7

Diff since v0.16.6

Closed issues:

  • Tuned Model interface doesnt have class_weights (#808)
  • MLJBase breaking ParallelKMeans CI (#811)

Merged pull requests:

  • Update linguist to better reflect the source language of the package (#812) (@paniash)
  • Adapt to renaming of ScientificTypes (#813) (@ablaom)
  • For a 0.16.7 release (#814) (@ablaom)