diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index fa0639ba0..000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-# OS ---------------------------------------------------------------------------
-os: linux
-
-# meta -------------------------------------------------------------------------
-language: r
-cache: packages
-latex: false
-branches:
- only:
- - master
-
-# Stages -----------------------------------------------------------------------
-
-install: true
-script:
- - Rscript -e 'if (!requireNamespace("lintr")) install.packages("lintr")'
- - Rscript -e 'if (!requireNamespace("remotes")) install.packages("remotes")'
- - Rscript -e 'remotes::install_deps()'
- - R CMD build .
- - R CMD INSTALL *.tar.gz
-
diff --git a/README.Rmd b/README.Rmd
index 128c8d84e..92182ac8c 100644
--- a/README.Rmd
+++ b/README.Rmd
@@ -9,7 +9,7 @@ Package website: [release](https://mlr3pipelines.mlr-org.com/) | [dev](https://m
Dataflow Programming for Machine Learning in R.
-[![tic](https://github.com/mlr-org/mlr3pipelines/workflows/tic/badge.svg?branch=master)](https://github.com/mlr-org/mlr3pipelines/actions)
+[![r-cmd-check](https://github.com/mlr-org/mlr3pipelines/actions/workflows/r-cmd-check.yml/badge.svg)](https://github.com/mlr-org/mlr3pipelines/actions/workflows/r-cmd-check.yml)
[![CRAN](https://www.r-pkg.org/badges/version/mlr3pipelines)](https://cran.r-project.org/package=mlr3pipelines)
[![StackOverflow](https://img.shields.io/badge/stackoverflow-mlr3-orange.svg)](https://stackoverflow.com/questions/tagged/mlr3)
[![Mattermost](https://img.shields.io/badge/chat-mattermost-orange.svg)](https://lmmisld-lmu-stats-slds.srv.mwn.de/mlr_invite/)
@@ -40,6 +40,7 @@ mlr3pipelines](https://img.youtube.com/vi/4r8K3GO5wk4/0.jpg)](https://www.youtub
**`mlr3pipelines`** is a [dataflow programming](https://en.wikipedia.org/wiki/Dataflow_programming) toolkit for machine learning in R utilising the **[mlr3](https://github.com/mlr-org/mlr3)** package. Machine learning workflows can be written as directed "Graphs" that represent data flows between preprocessing, model fitting, and ensemble learning units in an expressive and intuitive language. Using methods from the **[mlr3tuning](https://github.com/mlr-org/mlr3tuning)** package, it is even possible to simultaneously optimize parameters of multiple processing units.
In principle, *mlr3pipelines* is about defining singular data and model manipulation steps as "PipeOps":
+
```{r}
pca = po("pca")
filter = po("filter", filter = mlr3filters::flt("variance"), filter.frac = 0.5)
@@ -47,14 +48,18 @@ learner_po = po("learner", learner = lrn("classif.rpart"))
```
These pipeops can then be combined together to define machine learning pipelines. These can be wrapped in a `GraphLearner` that behave like any other `Learner` in `mlr3`.
+
```{r}
graph = pca %>>% filter %>>% learner_po
glrn = GraphLearner$new(graph)
```
+
This learner can be used for resampling, benchmarking, and even tuning.
+
```{r}
resample(tsk("iris"), glrn, rsmp("cv"))
```
+
## Feature Overview
Single computational steps can be represented as so-called **PipeOps**, which can then be connected with directed edges in a **Graph**. The scope of *mlr3pipelines* is still growing; currently supported features are:
@@ -84,6 +89,7 @@ Please understand that the resources of the project are limited: response may so
## Citing mlr3pipelines
If you use mlr3pipelines, please cite our [JMLR article](https://jmlr.org/papers/v22/21-0281.html):
+
```{r echo = FALSE, comment = ""}
toBibtex(citation("mlr3pipelines"))
```
diff --git a/README.md b/README.md
index a35c91c29..f4fdf766c 100644
--- a/README.md
+++ b/README.md
@@ -1,14 +1,14 @@
# mlr3pipelines
-Package website: [release](https://mlr3pipelines.mlr-org.com/) |
+Package website: [release](https://mlr3pipelines.mlr-org.com/) \|
[dev](https://mlr3pipelines.mlr-org.com/dev/)
Dataflow Programming for Machine Learning in R.
-[![tic](https://github.com/mlr-org/mlr3pipelines/workflows/r-cmd-check/badge.svg?branch=master)](https://github.com/mlr-org/mlr3pipelines/actions)
+[![r-cmd-check](https://github.com/mlr-org/mlr3pipelines/actions/workflows/r-cmd-check.yml/badge.svg)](https://github.com/mlr-org/mlr3pipelines/actions/workflows/r-cmd-check.yml)
[![CRAN](https://www.r-pkg.org/badges/version/mlr3pipelines)](https://cran.r-project.org/package=mlr3pipelines)
[![StackOverflow](https://img.shields.io/badge/stackoverflow-mlr3-orange.svg)](https://stackoverflow.com/questions/tagged/mlr3)
[![Mattermost](https://img.shields.io/badge/chat-mattermost-orange.svg)](https://lmmisld-lmu-stats-slds.srv.mwn.de/mlr_invite/)
@@ -17,7 +17,7 @@ Dataflow Programming for Machine Learning in R.
## What is `mlr3pipelines`?
Watch our “WhyR 2020” Webinar Presentation on Youtube for an
-introduction\! Find the slides
+introduction! Find the slides
[here](https://raw.githubusercontent.com/mlr-org/mlr-outreach/main/2020_whyr/slides.pdf).
[![WhyR 2020
@@ -56,11 +56,18 @@ This learner can be used for resampling, benchmarking, and even tuning.
``` r
resample(tsk("iris"), glrn, rsmp("cv"))
-#> of 10 iterations
-#> * Task: iris
-#> * Learner: pca.variance.classif.rpart
-#> * Warnings: 0 in 0 iterations
-#> * Errors: 0 in 0 iterations
+#> with 10 resampling iterations
+#> task_id learner_id resampling_id iteration warnings errors
+#> iris pca.variance.classif.rpart cv 1 0 0
+#> iris pca.variance.classif.rpart cv 2 0 0
+#> iris pca.variance.classif.rpart cv 3 0 0
+#> iris pca.variance.classif.rpart cv 4 0 0
+#> iris pca.variance.classif.rpart cv 5 0 0
+#> iris pca.variance.classif.rpart cv 6 0 0
+#> iris pca.variance.classif.rpart cv 7 0 0
+#> iris pca.variance.classif.rpart cv 8 0 0
+#> iris pca.variance.classif.rpart cv 9 0 0
+#> iris pca.variance.classif.rpart cv 10 0 0
```
## Feature Overview
@@ -70,32 +77,34 @@ which can then be connected with directed edges in a **Graph**. The
scope of *mlr3pipelines* is still growing; currently supported features
are:
- - Simple data manipulation and preprocessing operations, e.g. PCA,
- feature filtering
- - Task subsampling for speed and outcome class imbalance handling
- - *mlr3* *Learner* operations for prediction and stacking
- - Simultaneous path branching (data going both ways)
- - Alternative path branching (data going one specific way, controlled
- by hyperparameters)
- - Ensemble methods and aggregation of predictions
+- Simple data manipulation and preprocessing operations, e.g. PCA,
+ feature filtering
+- Task subsampling for speed and outcome class imbalance handling
+- *mlr3* *Learner* operations for prediction and stacking
+- Simultaneous path branching (data going both ways)
+- Alternative path branching (data going one specific way, controlled by
+ hyperparameters)
+- Ensemble methods and aggregation of predictions
## Documentation
A good way to get into `mlr3pipelines` are the following two vignettes:
- - [Sequential Pipelines](https://mlr3book.mlr-org.com/chapters/chapter7/sequential_pipelines.html)
- - [Non-Sequential Pipelines and Tuning](https://mlr3book.mlr-org.com/chapters/chapter8/non-sequential_pipelines_and_tuning.html)
+- [Sequential
+ Pipelines](https://mlr3book.mlr-org.com/chapters/chapter7/sequential_pipelines.html)
+- [Non-Sequential Pipelines and
+ Tuning](https://mlr3book.mlr-org.com/chapters/chapter8/non-sequential_pipelines_and_tuning.html)
## Bugs, Questions, Feedback
*mlr3pipelines* is a free and open source software project that
encourages participation and feedback. If you have any issues,
questions, suggestions or feedback, please do not hesitate to open an
-“issue” about it on the GitHub page\!
+“issue” about it on the GitHub page!
In case of problems / bugs, it is often helpful if you provide a
-“minimum working example” that showcases the behaviour (but don’t
-worry about this if the bug is obvious).
+“minimum working example” that showcases the behaviour (but don’t worry
+about this if the bug is obvious).
Please understand that the resources of the project are limited:
response may sometimes be delayed by a few days, and some feature
diff --git a/tic.R b/tic.R
deleted file mode 100644
index 3f16811b6..000000000
--- a/tic.R
+++ /dev/null
@@ -1,21 +0,0 @@
-# installs dependencies, runs R CMD check, runs covr::codecov()
-do_package_checks()
-
-# dependency of NMF
-# installing from GH avoids using a static Bioconductor version
-get_stage("before_install") %>%
- add_step(step_install_github("Bioconductor/Biobase"))
-
-if (ci_on_ghactions() && identical(ci_get_env("MLR3"), "devel")) {
- get_stage("install") %>%
- add_step(step_install_github("mlr-org/mlr3"))
-}
-
-if (ci_on_ghactions() && ci_has_env("BUILD_PKGDOWN")) {
- # creates pkgdown site and pushes to gh-pages branch
- # only for the runner with the "BUILD_PKGDOWN" env var set
- get_stage("install") %>%
- add_step(step_install_github("mlr-org/mlr3pkgdowntemplate"))
- do_pkgdown()
-}
-