Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release. 0.21.0 #1181

Merged
merged 3 commits into from
Sep 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package: mlr3
Title: Machine Learning in R - Next Generation
Version: 0.20.2.9000
Version: 0.21.0
Authors@R:
c(
person("Michel", "Lang", , "[email protected]", role = "aut",
Expand Down
4 changes: 2 additions & 2 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# mlr3 (development version)
# mlr3 0.21.0

* BREAKING CHANGE: Deprecated `data_format` and `data_formats` for `Learner`, `Task`, and `DataBackend` classes.
* feat: The `partition()` function creates training, test and validation sets now.
Expand All @@ -12,7 +12,7 @@
* feat: Measures can now have an empty `$predict_sets` (#1094).
This is relevant for measures that only extract information from the model of a learner (such as internal validation scores or AIC / BIC)
* BREAKING CHANGE: Deprecated the `$divide()` method
* fix: `Task$cbind()` now works with non-standard primary keys for `data.frames` (#961).
* fix: `Task$cbind()` now works with non-standard primary keys for `data.frames` (#961).
* fix: Triggering of fallback learner now has log-level `"info"` instead of `"debug"` (#972).
* feat: Added new measure `regr.pinball` here and in mlr3measures.
* feat: Added new measure `mu_auc` here and in mlr3measures.
Expand Down
2 changes: 1 addition & 1 deletion R/warn_deprecated.R
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#' `mlr3.warn_deprecated = FALSE`.
#'
#' The warning is of the format
#' "<what> is deprecated and will be removed in the future."
#' "what is deprecated and will be removed in the future."
#'
#' Use the 'deprecated_binding()' helper function to create an active binding
#' that generates a warning when accessed.
Expand Down
229 changes: 116 additions & 113 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,51 +19,53 @@ Status](https://www.r-pkg.org/badges/version-ago/mlr3)](https://cran.r-project.o

## Resources (for users and developers)

- We have written a [book](https://mlr3book.mlr-org.com/). This should
be the central entry point to the package.
- The [mlr-org website](https://mlr-org.com/) includes for example a
[gallery](https://mlr-org.com/gallery.html) with case studies.
- [Reference manual](https://mlr3.mlr-org.com/reference/)
- [FAQ](https://mlr-org.com/faq.html)
- Ask questions on [Stackoverflow (tag
\#mlr3)](https://stackoverflow.com/questions/tagged/mlr3)
- **Extension Learners**
- Recommended core regression, classification, and survival learners
are in [mlr3learners](https://github.com/mlr-org/mlr3learners)
- All others are in
[mlr3extralearners](https://github.com/mlr-org/mlr3extralearners)
- Use the [learner search](https://mlr-org.com/learners.html) to get a
simple overview
- **Cheatsheets**
- [Overview of cheatsheets](https://cheatsheets.mlr-org.com)
- [mlr3](https://cheatsheets.mlr-org.com/mlr3.pdf)
- [mlr3tuning](https://cheatsheets.mlr-org.com/mlr3tuning.pdf)
- [mlr3pipelines](https://cheatsheets.mlr-org.com/mlr3pipelines.pdf)
- **Videos**:
- [useR2019 talk on mlr3](https://www.youtube.com/watch?v=wsP2hiFnDQs)
- [useR2019 talk on mlr3pipelines and
mlr3tuning](https://www.youtube.com/watch?v=gEW5RxkbQuQ)
- [useR2020 tutorial on mlr3, mlr3tuning and
mlr3pipelines](https://www.youtube.com/watch?v=T43hO2o_nZw)
<!-- - [Recorded talk about mlr3spatiotempcv and mlr3spatial at OpenDataScience Europe Conference 2021 in Wageningen, NL](https://av.tib.eu/media/55271) -->
- **Courses/Lectures**
- The course [Introduction to Machine learning
(I2ML)](https://slds-lmu.github.io/i2ml/) is a free and open flipped
classroom course on the basics of machine learning. `mlr3` is used
in the
[demos](https://github.com/slds-lmu/lecture_i2ml/tree/master/code-demos-pdf)
and
[exercises](https://github.com/slds-lmu/lecture_i2ml/tree/master/exercises).
- **Templates/Tutorials**
- [mlr3-targets](https://github.com/mlr-org/mlr3-targets): Tutorial
showcasing how to use {mlr3} with
[targets](https://docs.ropensci.org/targets/) for reproducible ML
workflow automation.
- [List of extension packages](https://mlr-org.com/ecosystem.html)
- [mlr-outreach](https://github.com/mlr-org/mlr-outreach) contains
public talks and slides resources.
- [Wiki](https://github.com/mlr-org/mlr3/wiki): Contains mainly
information for developers.
- We have written a [book](https://mlr3book.mlr-org.com/). This should
be the central entry point to the package.
- The [mlr-org website](https://mlr-org.com/) includes for example a
[gallery](https://mlr-org.com/gallery.html) with case studies.
- [Reference manual](https://mlr3.mlr-org.com/reference/)
- [FAQ](https://mlr-org.com/faq.html)
- Ask questions on [Stackoverflow (tag
\#mlr3)](https://stackoverflow.com/questions/tagged/mlr3)
- **Extension Learners**
- Recommended core regression, classification, and survival
learners are in
[mlr3learners](https://github.com/mlr-org/mlr3learners)
- All others are in
[mlr3extralearners](https://github.com/mlr-org/mlr3extralearners)
- Use the [learner search](https://mlr-org.com/learners.html) to
get a simple overview
- **Cheatsheets**
- [Overview of cheatsheets](https://cheatsheets.mlr-org.com)
- [mlr3](https://cheatsheets.mlr-org.com/mlr3.pdf)
- [mlr3tuning](https://cheatsheets.mlr-org.com/mlr3tuning.pdf)
- [mlr3pipelines](https://cheatsheets.mlr-org.com/mlr3pipelines.pdf)
- **Videos**:
- [useR2019 talk on
mlr3](https://www.youtube.com/watch?v=wsP2hiFnDQs)
- [useR2019 talk on mlr3pipelines and
mlr3tuning](https://www.youtube.com/watch?v=gEW5RxkbQuQ)
- [useR2020 tutorial on mlr3, mlr3tuning and
mlr3pipelines](https://www.youtube.com/watch?v=T43hO2o_nZw)
<!-- - [Recorded talk about mlr3spatiotempcv and mlr3spatial at OpenDataScience Europe Conference 2021 in Wageningen, NL](https://av.tib.eu/media/55271) -->
- **Courses/Lectures**
- The course [Introduction to Machine learning
(I2ML)](https://slds-lmu.github.io/i2ml/) is a free and open
flipped classroom course on the basics of machine learning.
`mlr3` is used in the
[demos](https://github.com/slds-lmu/lecture_i2ml/tree/master/code-demos-pdf)
and
[exercises](https://github.com/slds-lmu/lecture_i2ml/tree/master/exercises).
- **Templates/Tutorials**
- [mlr3-targets](https://github.com/mlr-org/mlr3-targets):
Tutorial showcasing how to use {mlr3} with
[targets](https://docs.ropensci.org/targets/) for reproducible
ML workflow automation.
- [List of extension packages](https://mlr-org.com/ecosystem.html)
- [mlr-outreach](https://github.com/mlr-org/mlr-outreach) contains
public talks and slides resources.
- [Wiki](https://github.com/mlr-org/mlr3/wiki): Contains mainly
information for developers.

## Installation

Expand Down Expand Up @@ -156,16 +158,16 @@ rr$score(measure)[, .(task_id, learner_id, iteration, classif.acc)]
```

## task_id learner_id iteration classif.acc
## 1: palmerpenguins::penguins classif.rpart 1 0.9391304
## 1: palmerpenguins::penguins classif.rpart 1 0.8956522
## 2: palmerpenguins::penguins classif.rpart 2 0.9478261
## 3: palmerpenguins::penguins classif.rpart 3 0.9298246
## 3: palmerpenguins::penguins classif.rpart 3 0.9649123

``` r
rr$aggregate(measure)
```

## classif.acc
## 0.938927
## 0.9361302

## Extension Packages

Expand Down Expand Up @@ -195,71 +197,72 @@ would result in non-trivial API changes.

## Design principles

- Only the basic building blocks for machine learning are implemented in
this package.
- Focus on computation here. No visualization or other stuff. That can
go in extra packages.
- Overcome the limitations of R’s [S3
classes](https://adv-r.hadley.nz/s3.html) with the help of
[R6](https://cran.r-project.org/package=R6).
- Embrace [R6](https://cran.r-project.org/package=R6) for a clean
OO-design, object state-changes and reference semantics. This might be
less “traditional R”, but seems to fit `mlr` nicely.
- Embrace [`data.table`](https://cran.r-project.org/package=data.table)
for fast and convenient data frame computations.
- Combine `data.table` and `R6`, for this we will make heavy use of list
columns in data.tables.
- Defensive programming and type safety. All user input is checked with
[`checkmate`](https://cran.r-project.org/package=checkmate). Return
types are documented, and mechanisms popular in base R which
“simplify” the result unpredictably (e.g., `sapply()` or `drop`
argument in `[.data.frame`) are avoided.
- Be light on dependencies. `mlr3` requires the following packages at
runtime:
- [`parallelly`](https://cran.r-project.org/package=parallelly):
Helper functions for parallelization. No extra recursive
dependencies.
- [`future.apply`](https://cran.r-project.org/package=future.apply):
Resampling and benchmarking is parallelized with the
[`future`](https://cran.r-project.org/package=future) abstraction
interfacing many parallel backends.
- [`backports`](https://cran.r-project.org/package=backports): Ensures
backward compatibility with older R releases. Developed by members
of the `mlr` team. No recursive dependencies.
- [`checkmate`](https://cran.r-project.org/package=checkmate): Fast
argument checks. Developed by members of the `mlr` team. No extra
recursive dependencies.
- [`mlr3misc`](https://cran.r-project.org/package=mlr3misc):
Miscellaneous functions used in multiple mlr3 [extension
packages](https://mlr-org.com/ecosystem.html). Developed by the
`mlr` team.
- [`paradox`](https://cran.r-project.org/package=paradox):
Descriptions for parameters and parameter sets. Developed by the
`mlr` team. No extra recursive dependencies.
- [`R6`](https://cran.r-project.org/package=R6): Reference class
objects. No recursive dependencies.
- [`data.table`](https://cran.r-project.org/package=data.table):
Extension of R’s `data.frame`. No recursive dependencies.
- [`digest`](https://cran.r-project.org/package=digest) (via
`mlr3misc`): Hash digests. No recursive dependencies.
- [`uuid`](https://cran.r-project.org/package=uuid): Create unique
string identifiers. No recursive dependencies.
- [`lgr`](https://cran.r-project.org/package=lgr): Logging facility.
No extra recursive dependencies.
- [`mlr3measures`](https://cran.r-project.org/package=mlr3measures):
Performance measures. No extra recursive dependencies.
- [`mlbench`](https://cran.r-project.org/package=mlbench): A
collection of machine learning data sets. No dependencies.
- [`palmerpenguins`](https://cran.r-project.org/package=palmerpenguins):
A classification data set about penguins, used on examples and
provided as a toy task. No dependencies.
- [Reflections](https://en.wikipedia.org/wiki/Reflection_%28computer_programming%29):
Objects are queryable for properties and capabilities, allowing you to
program on them.
- Additional functionality that comes with extra dependencies:
- To capture output, warnings and exceptions,
[`evaluate`](https://cran.r-project.org/package=evaluate) and
[`callr`](https://cran.r-project.org/package=callr) can be used.
- Only the basic building blocks for machine learning are implemented
in this package.
- Focus on computation here. No visualization or other stuff. That can
go in extra packages.
- Overcome the limitations of R’s [S3
classes](https://adv-r.hadley.nz/s3.html) with the help of
[R6](https://cran.r-project.org/package=R6).
- Embrace [R6](https://cran.r-project.org/package=R6) for a clean
OO-design, object state-changes and reference semantics. This might
be less “traditional R”, but seems to fit `mlr` nicely.
- Embrace
[`data.table`](https://cran.r-project.org/package=data.table) for
fast and convenient data frame computations.
- Combine `data.table` and `R6`, for this we will make heavy use of
list columns in data.tables.
- Defensive programming and type safety. All user input is checked
with [`checkmate`](https://cran.r-project.org/package=checkmate).
Return types are documented, and mechanisms popular in base R which
“simplify” the result unpredictably (e.g., `sapply()` or `drop`
argument in `[.data.frame`) are avoided.
- Be light on dependencies. `mlr3` requires the following packages at
runtime:
- [`parallelly`](https://cran.r-project.org/package=parallelly):
Helper functions for parallelization. No extra recursive
dependencies.
- [`future.apply`](https://cran.r-project.org/package=future.apply):
Resampling and benchmarking is parallelized with the
[`future`](https://cran.r-project.org/package=future)
abstraction interfacing many parallel backends.
- [`backports`](https://cran.r-project.org/package=backports):
Ensures backward compatibility with older R releases. Developed
by members of the `mlr` team. No recursive dependencies.
- [`checkmate`](https://cran.r-project.org/package=checkmate):
Fast argument checks. Developed by members of the `mlr` team. No
extra recursive dependencies.
- [`mlr3misc`](https://cran.r-project.org/package=mlr3misc):
Miscellaneous functions used in multiple mlr3 [extension
packages](https://mlr-org.com/ecosystem.html). Developed by the
`mlr` team.
- [`paradox`](https://cran.r-project.org/package=paradox):
Descriptions for parameters and parameter sets. Developed by the
`mlr` team. No extra recursive dependencies.
- [`R6`](https://cran.r-project.org/package=R6): Reference class
objects. No recursive dependencies.
- [`data.table`](https://cran.r-project.org/package=data.table):
Extension of R’s `data.frame`. No recursive dependencies.
- [`digest`](https://cran.r-project.org/package=digest) (via
`mlr3misc`): Hash digests. No recursive dependencies.
- [`uuid`](https://cran.r-project.org/package=uuid): Create unique
string identifiers. No recursive dependencies.
- [`lgr`](https://cran.r-project.org/package=lgr): Logging
facility. No extra recursive dependencies.
- [`mlr3measures`](https://cran.r-project.org/package=mlr3measures):
Performance measures. No extra recursive dependencies.
- [`mlbench`](https://cran.r-project.org/package=mlbench): A
collection of machine learning data sets. No dependencies.
- [`palmerpenguins`](https://cran.r-project.org/package=palmerpenguins):
A classification data set about penguins, used on examples and
provided as a toy task. No dependencies.
- [Reflections](https://en.wikipedia.org/wiki/Reflection_%28computer_programming%29):
Objects are queryable for properties and capabilities, allowing you
to program on them.
- Additional functionality that comes with extra dependencies:
- To capture output, warnings and exceptions,
[`evaluate`](https://cran.r-project.org/package=evaluate) and
[`callr`](https://cran.r-project.org/package=callr) can be used.

## Contributing to mlr3

Expand Down
2 changes: 1 addition & 1 deletion man/warn_deprecated.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading