mlrMBO
Toolbox for Bayesian Optimization and Model-Based Optimization in R
Science Score: 33.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 7 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, springer.com -
✓Committers with academic emails
8 of 23 committers (34.8%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.9%) to scientific vocabulary
Keywords
bayesian-optimization
black-box-optimization
hyperparameter-optimization
mlr
mlrmbo
model-based-optimization
optimization
r
r-package
Keywords from Contributors
learners
imbalance-correction
hyperparameters-optimization
feature-selection
multilabel-classification
predictive-modeling
stacking
survival-analysis
reproducibility
parallel-computing
Last synced: 6 months ago
·
JSON representation
Repository
Toolbox for Bayesian Optimization and Model-Based Optimization in R
Basic Info
- Host: GitHub
- Owner: mlr-org
- License: other
- Language: R
- Default Branch: main
- Homepage: https://mlrmbo.mlr-org.com
- Size: 77.5 MB
Statistics
- Stars: 188
- Watchers: 30
- Forks: 47
- Open Issues: 95
- Releases: 1
Topics
bayesian-optimization
black-box-optimization
hyperparameter-optimization
mlr
mlrmbo
model-based-optimization
optimization
r
r-package
Created over 12 years ago
· Last pushed over 2 years ago
Metadata Files
Readme
License
README.Rmd
---
output: github_document
---
```{r setup, include=FALSE}
library(knitr)
library(gifski)
opts_knit$set(upload.fun = imgur_upload, base.url = NULL) # upload all images to imgur.com
opts_chunk$set(fig.width=5, fig.height=5, cache=TRUE)
```
# mlrMBO
Package website: [mlrmbo.mlr-org.com](https://mlrmbo.mlr-org.com/)
Model-based optimization with [mlr](https://github.com/mlr-org/mlr/).
[](https://github.com/mlr-org/mlrMBO/actions)
[](https://cran.r-project.org/package=mlrMBO)
[](https://codecov.io/github/mlr-org/mlrMBO?branch=master)
[](https://CRAN.R-project.org/package=mlrMBO)
* [Documentation](https://mlrmbo.mlr-org.com/)
* [Issues, Requests and Bug Tracker](https://github.com/mlr-org/mlrMBO/issues)
# Installation
We recommend to install the official release version:
```{r, eval = FALSE}
install.packages("mlrMBO")
```
For experimental use you can install the latest development version:
```{r, eval = FALSE}
remotes::install_github("mlr-org/mlrMBO")
```
# Introduction
```{r animation, message = FALSE, warning = FALSE, echo=FALSE, eval=TRUE, fig.width=7, fig.height=4, animation.hook='gifski'}
set.seed(2)
library(ggplot2)
library(mlrMBO)
library(animation)
configureMlr(show.learner.output = FALSE)
pause = interactive()
set.seed(1)
fn = makeCosineMixtureFunction(1)
obj.fun = convertToMinimization(fn)
# mbo control with defaults
ctrl = makeMBOControl()
ctrl = setMBOControlTermination(ctrl, iters = 10L)
ctrl = setMBOControlInfill(ctrl, crit = makeMBOInfillCritEI(), opt = "focussearch", opt.focussearch.points = 500L, opt.restarts = 1L)
design = generateDesign(5L, getParamSet(obj.fun), fun = lhs::maximinLHS)
run = exampleRun(obj.fun, design = design,
control = ctrl, points.per.dim = 1000, show.info = TRUE)
for(i in 1:10) {
plotExampleRun(run, iters = i, pause = pause, densregion = TRUE, gg.objects = list(theme_bw()))
}
```
`mlrMBO` is a highly configurable R toolbox for model-based / Bayesian optimization of black-box functions.
Features:
* EGO-type algorithms (Kriging with expected improvement) on purely numerical search spaces, see [Jones et al. (1998)](https://link.springer.com/article/10.1023/A:1008306431147)
* Mixed search spaces with numerical, integer, categorical and subordinate parameters
* Arbitrary parameter transformation allowing to optimize on, e.g., logscale
* Optimization of noisy objective functions
* Multi-Criteria optimization with approximated Pareto fronts
* Parallelization through multi-point batch proposals
* Parallelization on many parallel back-ends and clusters through [batchtools](https://github.com/mllg/batchtools) and [parallelMap](https://github.com/mlr-org/parallelMap)
For the *surrogate*, `mlrMBO` allows any regression learner from [`mlr`](https://github.com/mlr-org/mlr), including:
* Kriging aka. Gaussian processes (i.e. `DiceKriging`)
* random Forests (i.e. `randomForest`)
* and many more...
Various *infill criteria* (aka. _acquisition functions_) are available:
* Expected improvement (EI)
* Upper/Lower confidence bound (LCB, aka. statistical lower or upper bound)
* Augmented expected improvement (AEI)
* Expected quantile improvement (EQI)
* API for custom infill criteria
Objective functions are created with package [smoof](https://github.com/jakobbossek/smoof), which also offers many test functions for example runs or benchmarks.
Parameter spaces and initial designs are created with package [ParamHelpers](https://github.com/mlr-org/ParamHelpers).
# How to Cite
Please cite our [arxiv paper](https://arxiv.org/abs/1703.03373) (Preprint).
You can get citation info via `citation("mlrMBO")` or copy the following BibTex entry:
```bibtex
@article{mlrMBO,
title = {{{mlrMBO}}: {{A Modular Framework}} for {{Model}}-{{Based Optimization}} of {{Expensive Black}}-{{Box Functions}}},
url = {https://arxiv.org/abs/1703.03373},
shorttitle = {{{mlrMBO}}},
archivePrefix = {arXiv},
eprinttype = {arxiv},
eprint = {1703.03373},
primaryClass = {stat},
author = {Bischl, Bernd and Richter, Jakob and Bossek, Jakob and Horn, Daniel and Thomas, Janek and Lang, Michel},
date = {2017-03-09},
}
```
Some parts of the package were created as part of other publications.
If you use these parts, please cite the relevant work appropriately:
* Multi-point proposals, including the new multi-objective infill criteria: [MOI-MBO: Multiobjective Infill for Parallel Model-Based Optimization](https://doi.org/10.1007/978-3-319-09584-4_17)
* Multi-objective optimization: [Model-Based Multi-objective Optimization: Taxonomy, Multi-Point Proposal, Toolbox and Benchmark](https://doi.org/10.1007/978-3-319-15934-8_5)
* Multi-objective optimization with categorical variables using the random forest as a surrogate: [Multi-objective parameter configuration of machine learning algorithms using model-based optimization](https://doi.org/10.1109/SSCI.2016.7850221)
Owner
- Name: mlr-org
- Login: mlr-org
- Kind: organization
- Location: Munich, Germany
- Website: https://mlr-org.com
- Repositories: 80
- Profile: https://github.com/mlr-org
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jakob Richter | c****e@j****e | 446 |
| Bernd Bischl | b****l@g****t | 342 |
| Jakob Bossek | i****o@j****e | 243 |
| Daniel Horn | d****n@t****e | 142 |
| Michel | m****g@g****m | 115 |
| pat-s | p****z@g****m | 50 |
| Travis CI | 38 | |
| Karin Schork | s****n@g****m | 30 |
| ja-thomas | j****s | 23 |
| nbauer2 | b****r@b****e | 11 |
| Bernd Bischl | y****u@e****m | 8 |
| Jakob Bossek | b****k@w****e | 7 |
| github-actions[bot] | 4****] | 4 |
| Tobias | w****r@i****e | 4 |
| mb706 | m****6 | 3 |
| unknown | w****r@P****e | 3 |
| Benjamin Klepper | b****r@g****m | 1 |
| Dirk | s****n@s****e | 1 |
| Katrin Leinweber | 9****r | 1 |
| Pascal Kerschke | p****e@u****e | 1 |
| Jakob Richter | r****r@s****e | 1 |
| Daniel Horn | d****n@l****e | 1 |
| verenamayer | v****y@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 62
- Total pull requests: 39
- Average time to close issues: 3 months
- Average time to close pull requests: 28 days
- Total issue authors: 30
- Total pull request authors: 6
- Average comments per issue: 2.89
- Average comments per pull request: 0.74
- Merged pull requests: 24
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- mb706 (13)
- swaheera (5)
- zkurtz (5)
- jakob-r (3)
- rodemann (3)
- Seager1989 (3)
- pat-s (2)
- RPdavies (2)
- vrodriguezf (2)
- zjujdj (2)
- dipenpatel235 (2)
- robsmith11 (2)
- dagola (1)
- pfistfl (1)
- aminevsaziz (1)
Pull Request Authors
- jakob-r (24)
- pat-s (8)
- ja-thomas (3)
- mb706 (2)
- berndbischl (1)
- elseverzeynal (1)
Top Labels
Issue Labels
documentation (4)
bug (2)
prio-medium (2)
prio-high (2)
enhancement (1)
Pull Request Labels
enhancement (4)
work in progress (3)
ready for merge (?) (2)
prio-low (1)
prio-high (1)
later (1)
prio-medium (1)
Packages
- Total packages: 4
-
Total downloads:
- cran 2,524 last-month
- Total docker downloads: 47,146
-
Total dependent packages: 9
(may contain duplicates) -
Total dependent repositories: 15
(may contain duplicates) - Total versions: 15
- Total maintainers: 1
proxy.golang.org: github.com/mlr-org/mlrmbo
- Documentation: https://pkg.go.dev/github.com/mlr-org/mlrmbo#section-documentation
- License: other
-
Latest release: v1.1.1
published about 8 years ago
Rankings
Dependent packages count: 5.5%
Average: 5.6%
Dependent repos count: 5.8%
Last synced:
6 months ago
proxy.golang.org: github.com/mlr-org/mlrMBO
- Documentation: https://pkg.go.dev/github.com/mlr-org/mlrMBO#section-documentation
- License: other
-
Latest release: v1.1.1
published about 8 years ago
Rankings
Dependent packages count: 5.5%
Average: 5.6%
Dependent repos count: 5.8%
Last synced:
6 months ago
cran.r-project.org: mlrMBO
Bayesian Optimization and Model-Based Optimization of Expensive Black-Box Functions
- Homepage: https://github.com/mlr-org/mlrMBO
- Documentation: http://cran.r-project.org/web/packages/mlrMBO/mlrMBO.pdf
- License: BSD_2_clause + file LICENSE
-
Latest release: 1.1.5
published over 5 years ago
Rankings
Forks count: 1.4%
Stargazers count: 2.3%
Dependent packages count: 6.1%
Dependent repos count: 7.4%
Downloads: 8.0%
Average: 8.1%
Docker downloads count: 23.2%
Maintainers (1)
Last synced:
6 months ago
conda-forge.org: r-mlrmbo
- Homepage: https://github.com/mlr-org/mlrMBO
- License: BSD-2-Clause
-
Latest release: 1.1.5
published over 5 years ago
Rankings
Forks count: 24.0%
Stargazers count: 24.9%
Average: 27.9%
Dependent packages count: 28.8%
Dependent repos count: 34.0%
Last synced:
6 months ago
Dependencies
DESCRIPTION
cran
- ParamHelpers >= 1.10 depends
- mlr >= 2.10 depends
- smoof >= 1.5.1 depends
- BBmisc >= 1.11 imports
- backports >= 1.1.0 imports
- checkmate >= 1.8.2 imports
- data.table * imports
- lhs * imports
- parallelMap >= 1.3 imports
- DiceKriging * suggests
- GGally * suggests
- akima * suggests
- cmaesr >= 1.0.3 suggests
- covr * suggests
- earth * suggests
- emoa * suggests
- ggplot2 * suggests
- gridExtra * suggests
- interp * suggests
- kernlab * suggests
- kknn * suggests
- knitr * suggests
- mco * suggests
- nnet * suggests
- party * suggests
- randomForest * suggests
- reshape2 * suggests
- rgenoud * suggests
- rmarkdown * suggests
- rpart * suggests
- testthat * suggests