Releases: mlr-org/mlr3
Releases · mlr-org/mlr3
mlr3 0.14.1
- Removed depdency on package
distr6. - Fixed reassembling of
GraphLearner. - Fixed bug where the measured elapsed time was 0:
https://stackoverflow.com/questions/73797845/mlr3-benchmarking-with-elapsed-time-measure - Fixed
as_prediction_classif()fordata.frame()input (#872). - Improved the error message when predict type of fallback learner does not
match the predict type of the learner (mlr-org/mlr3extralearners#241). - The test set is now available to the
Learnerduring train for early
stopping.
mlr3 0.14.0
- Added multiclass measures:
mauc_aunu,mauc_aunp,mauc_au1u,mauc_au1p. - Measure
classif.costsdoes not require aTaskanymore. - New converter:
as_task_unsupervised() - Refactored the task types in
mlr_reflections.
mlr3 0.13.4
- Added new options for parallelization (
"mlr3.exec_random"and
"mlr3.exec_chunk_size"). These options are passed down to the respective map
functions in packagefuture.apply. - Fixed runtime measures depending on specific predict types (#832).
- Added
head()andtail()methods forTask. - Improved printing of multiple objects.
mlr3 0.13.3
- Most objects now have a new (optional) field
label, i.e.Task,
TaskGenerator,Learner,Resampling, andMeasure. as.data.table()methods for objects of classDictonaryhave been extended
with additional columns.as_task_classif.formula()andas_task_regr.formula()now remove additional
atrributes attached to the data which caused some some learners to break.- Packages are now loaded prior to calling the
$train()and$predict()
methods of aLearner. This ensures that package loading errors are properly
propagated and not affected by encapsulation (#771).
mlr3 0.13.2
- Setting a fallback learner for a learner with encapsulation in its default
settings now automatically sets encapsulation to"evaluate"(#763). as_task_classif()andas_task_regr()now support the construction of tasks
using the formula interface, e.g.as_task_regr(mpg ~ ., data = mtcars)
(#761).- The row role
"validation"has been renamed to"holdout".
In the next release,mlr3will start switching to the now more common terms
"train"/"validation"instead of"train"/"test"for the sets created
during resampling.
mlr3 0.13.1
- Improved performance for many operations on
ResampleResultand
BenchmarkResult. resample()andbenchmark()got a new argumentcloneto control which
objects to clone before performing computations.- Tasks are checked for infinite values during the conversion from
data.frame
toTaskinas_task_classif()andas_task_regr(). A warning is signaled
if any column contains infinite values.
mlr3 0.13.0
- Learners which are capable of resuming/continuing (e.g.,
learner(classif|regr|surv).xgboostwith hyperparameternroundsupdated)
can now optionally store a stack of trained learners to be used to hotstart
their training. Note that this feature is still somewhat experimental.
SeeHotstartStackand #719. - New measures to score similarity of selected feature sets:
sim.jaccard(Jaccard Index) andsim.phi(Phi coefficient) (#690). predict_newdata()now also supportsDataBackendas input.- New function
install_pkgs()to install required packages. This generic works
for all objects with apackagesfield as well asResampleResultand
BenchmarkResult(#728). - New learner
regr.debugfor debugging. - New
Taskmethod$set_levels()to control how data with factor columns
is returned, independent of the usedDataBackend. - Measures now return
NAif prerequisite are not met (#699).
This allows to conveniently score your experiments with multiple measures
having different requirements. - Feature names may no longer contain the special character
%.
mlr3 0.12.0
- New method to assign labels to columns in tasks:
Task$label().
These will be used in visualizations in the future. - New method to add stratification variables:
Task$add_strata(). - New helper function
partition()to split a task into a training and test
set. - New standardized getter
loglik()for classLearner. - New measures
"aic"and"bic"to compute the Akaike Information Criterion
or the Bayesian Information Criterion, respectively. - New Resampling method:
ResamplingCustomCV. Creates a custom resampling split
based on the levels of a user-provided factor variable. - New argument
encapsulateforresample()andbenchmark()to conveniently
enable encapsulation and also set the fallback learner to the
featureless learner. This is simply for convenience, configuring each learner
individually is still possible and allows a more fine-grained control (#634,
#642). - New field
parallel_predictforLearnerto enable parallel predictions via
the future backend. This currently is only enabled while calling the
$predict()or$predict_newdatamethods and is disabled duringresample()
andbenchmark()where you have other means to parallelize. - Deprecated public (and already documented as internal) field
$datain
ResampleResultandBenchmarkResultto simplify the API and avoid
confusion. The converteras.data.table()can be used instead to access the
internal data. - Measures now have formal hyperparameters. A popular example where this is
required is the F1 score, now implemented with customizablebeta. - Changed default of argument
orderedinTask$data()fromTRUEtoFALSE. - Fixed getter
ResamplingRepeatedCV$folds()(#643). - Fixed hashing of some measures.
- Removed experimental column role
uri. This role be split up into multiple
roles by themlr3keraspackage.
mlr3 0.11.0
- Added a
as.data.table.Resamplingmethod. - Renamed column
"row_id"to"row_ids"in theas.data.table()methods
forPredictionClassifandPredictionRegr(#547). - Added converters
as_prediction_classif()andas_prediction_regr()to
reverse the operation ofas.data.table.PredictionClassif()and
as.data.table.PredictionRegr(). - Specifying a weight column during
learner$predict_newdata()is not mandatory
anymore (#563). Task$data()defaults to return only active rows and columns, instead of
asserting to only return rows and columns. As a result, the$data()method
can now also be used to query inactive rows and cols from theDataBackend.- New (experimental) column role
uriwhich is intended to point to external
resources, e.g. images on the file system. - New helper
set_threads()to control the number of threads during calls to
external packages. All objects will be migrated to have threading disabled in
their defaults to avoid conflicting parallelization techniques (#605). - New option
mlr3.debug: avoid calls tofutureinresample()and
benchmark()to improve the readability of tracebacks. - New experimental option
mlr3.allow_utf8_names: allow non-ascii characters in
column names in tasks.
mlr3 0.10.0
- Result containers
ResampleResultandBenchmarkResultnow optionally remove
the DataBackend of the Tasks in order to reduce file size and memory
footprint after serialization. To remove the backends from the containers,
setstore_backendstoFALSEinresample()orbenchmark(),
respectively. Note that this behaviour will eventually will be the default for
future releases. - Prediction objects generated by
Learner$predict_newdata()now have row ids
starting from 1 instead auto incrementing row ids of the training task. as.data.table.DictionaryTasksnow returns an additional columnproperties.- Added flag
conditionstoResampleResult$score()and
BenchmarkResult$score()to allow to work with failing learners more
conveniently.