Skip to content

v0.17.0

Compare
Choose a tag to compare
@github-actions github-actions released this 29 Dec 03:56
f891cf8

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: