diff --git a/.Rbuildignore b/.Rbuildignore index 1e5935708..46e38cbe2 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -20,3 +20,4 @@ ^revdep$ ^CITATION.cff$ ^CONTRIBUTING.md +^cran-comments\.md$ diff --git a/DESCRIPTION b/DESCRIPTION index 716ed3891..7d25b9ede 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: mlr3 Title: Machine Learning in R - Next Generation -Version: 0.16.1-9000 +Version: 0.17.0 Authors@R: c( person("Michel", "Lang", , "michellang@gmail.com", role = c("cre", "aut"), diff --git a/NEWS.md b/NEWS.md index 881faba77..e715c9d09 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# mlr3 0.16.1-9000 +# mlr3 0.17.0 * Learners cannot be added to the `HotstartStack` anymore when the model is missing. * Learners bellow the `hotstart_threshold` are not added to the `HotstartStack` anymore. diff --git a/R/assertions.R b/R/assertions.R index 205914536..d0fe93995 100644 --- a/R/assertions.R +++ b/R/assertions.R @@ -259,7 +259,7 @@ assert_prediction = function(prediction, .var.name = vname(prediction)) { #' @export -#' @param resample_result ([ResampleResult]). +#' @param rr ([ResampleResult]). #' @rdname mlr_assertions assert_resample_result = function(rr, .var.name = vname(rr)) { assert_class(rr, "ResampleResult", .var.name = .var.name) diff --git a/README.Rmd b/README.Rmd index cb0803459..510e604ab 100644 --- a/README.Rmd +++ b/README.Rmd @@ -27,7 +27,7 @@ Successor of [mlr](https://github.com/mlr-org/mlr). * We _started_ writing 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 and a [blog](https://mlr-org.com/blog.html) (We are not the most frequent bloggers ;) ) +* 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://github.com/mlr-org/mlr3/wiki/FAQ) * Ask questions on [Stackoverflow (tag #mlr3)](https://stackoverflow.com/questions/tagged/mlr3) diff --git a/README.md b/README.md index a33cdc488..9a0e0dab8 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # mlr3 -Package website: [release](https://mlr3.mlr-org.com/) | +Package website: [release](https://mlr3.mlr-org.com/) \| [dev](https://mlr3.mlr-org.com/dev/) Efficient, object-oriented programming on the building blocks of machine @@ -19,56 +19,54 @@ Status](https://www.r-pkg.org/badges/version-ago/mlr3)](https://cran.r-project.o ## Resources (for users and developers) - - We *started* writing a [book](https://mlr3book.mlr-org.com/). This +- We *started* writing 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 and a - [blog](https://mlr-org.com/blog.html) (We are not the most frequent - bloggers ;) ) - - [Reference manual](https://mlr3.mlr-org.com/reference/) - - [FAQ](https://github.com/mlr-org/mlr3/wiki/FAQ) - - Ask questions on [Stackoverflow (tag +- 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://github.com/mlr-org/mlr3/wiki/FAQ) +- Ask questions on [Stackoverflow (tag \#mlr3)](https://stackoverflow.com/questions/tagged/mlr3) - - **Extension Learners** - - Recommended core regression, classification, and survival +- **Extension Learners** + - Recommended core regression, classification, and survival learners are in [mlr3learners](https://github.com/mlr-org/mlr3learners) - - All others are in + - All others are in [mlr3extralearners](https://github.com/mlr-org/mlr3extralearners) - - Use the [learner search](https://mlr-org.com/learners.html) to + - 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 +- **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 + - [useR2019 talk on mlr3pipelines and mlr3tuning](https://www.youtube.com/watch?v=gEW5RxkbQuQ) - - [useR2020 tutorial on mlr3, mlr3tuning and + - [useR2020 tutorial on mlr3, mlr3tuning and mlr3pipelines](https://www.youtube.com/watch?v=T43hO2o_nZw) - - [Recorded talk about mlr3spatiotempcv and mlr3spatial at + - [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 +- **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): +- **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 +- [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 +- [Wiki](https://github.com/mlr-org/mlr3/wiki): Contains mainly information for developers. ## Installation @@ -201,70 +199,70 @@ would result in non-trivial API changes. ## Design principles - - Only the basic building blocks for machine learning are implemented +- Only the basic building blocks for machine learning are implemented in this package. - - Focus on computation here. No visualization or other stuff. That can +- Focus on computation here. No visualization or other stuff. That can go in extra packages. - - Overcome the limitations of R’s [S3 +- 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 +- 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 +- 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 +- 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 +- 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 +- Be light on dependencies. `mlr3` requires the following packages at runtime: - - [`parallelly`](https://cran.r-project.org/package=parallelly): + - [`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): + - [`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): + - [`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): + - [`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): + - [`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): + - [`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 + - [`R6`](https://cran.r-project.org/package=R6): Reference class objects. No recursive dependencies. - - [`data.table`](https://cran.r-project.org/package=data.table): + - [`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 + - [`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 + - [`uuid`](https://cran.r-project.org/package=uuid): Create unique string identifiers. No recursive dependencies. - - [`lgr`](https://cran.r-project.org/package=lgr): Logging + - [`lgr`](https://cran.r-project.org/package=lgr): Logging facility. No extra recursive dependencies. - - [`mlr3measures`](https://cran.r-project.org/package=mlr3measures): + - [`mlr3measures`](https://cran.r-project.org/package=mlr3measures): Performance measures. No extra recursive dependencies. - - [`mlbench`](https://cran.r-project.org/package=mlbench): A + - [`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): + - [`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): +- [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, +- 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. diff --git a/man/mlr_assertions.Rd b/man/mlr_assertions.Rd index e109f61a0..ed80b8834 100644 --- a/man/mlr_assertions.Rd +++ b/man/mlr_assertions.Rd @@ -120,12 +120,12 @@ Set of required task properties.} \item{prediction}{(\link{Prediction}).} +\item{rr}{(\link{ResampleResult}).} + \item{bmr}{(\link{BenchmarkResult}).} \item{row_ids}{\code{integer()}\cr Row indices.} - -\item{resample_result}{(\link{ResampleResult}).} } \description{ Functions intended to be used in packages extending \pkg{mlr3}.