v0.17.0
MLJ v0.17.0
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 thenrows
property. Usenrows(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 predicatesp1, p2, ...
Frequently, users' existing code will safely ignore the extra component (JuliaAI/MLJBase.jl#691) -
(breaking) Change syntax
EnsembleModel(atom=...)
toEnsembleModel(model=...)
for consistency with other MLJ model wrappers (eg,TunedModel
) but additionally allow passing model as non-keyword argument, as inEnsembleModel(my_tree, ...)
. -
(breaking) The default
scale
for unboundedNumericRange
s 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 correspondingmodel
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=...
inBinaryThresholdPredictor
. Correct syntax isBinaryThresholdPredictor(model=...)
orBinaryThresholdPredictor(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 syntaxmodel1 |> model2 |> ...
or with the constructorPipeline
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 specifyingmulti=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: