{"id":18520172,"url":"https://github.com/mlr-org/mlrmbo","last_synced_at":"2025-04-04T07:08:09.256Z","repository":{"id":11358164,"uuid":"13791142","full_name":"mlr-org/mlrMBO","owner":"mlr-org","description":"Toolbox for Bayesian Optimization and Model-Based Optimization in R","archived":false,"fork":false,"pushed_at":"2023-09-14T18:33:20.000Z","size":81281,"stargazers_count":187,"open_issues_count":95,"forks_count":47,"subscribers_count":30,"default_branch":"main","last_synced_at":"2025-03-28T06:08:15.774Z","etag":null,"topics":["bayesian-optimization","black-box-optimization","hyperparameter-optimization","mlr","mlrmbo","model-based-optimization","optimization","r","r-package"],"latest_commit_sha":null,"homepage":"https://mlrmbo.mlr-org.com","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mlr-org.png","metadata":{"funding":{"github":"mlr-org"},"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2013-10-23T01:59:42.000Z","updated_at":"2024-11-21T23:45:49.000Z","dependencies_parsed_at":"2022-08-07T06:01:23.448Z","dependency_job_id":"c26c7805-78e7-4a6c-9816-c285306c3027","html_url":"https://github.com/mlr-org/mlrMBO","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlr-org%2FmlrMBO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlr-org%2FmlrMBO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlr-org%2FmlrMBO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlr-org%2FmlrMBO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mlr-org","download_url":"https://codeload.github.com/mlr-org/mlrMBO/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247135144,"owners_count":20889421,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bayesian-optimization","black-box-optimization","hyperparameter-optimization","mlr","mlrmbo","model-based-optimization","optimization","r","r-package"],"created_at":"2024-11-06T17:18:54.016Z","updated_at":"2025-04-04T07:08:09.231Z","avatar_url":"https://github.com/mlr-org.png","language":"R","funding_links":["https://github.com/sponsors/mlr-org"],"categories":[],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n```{r setup, include=FALSE}\nlibrary(knitr)\nlibrary(gifski)\nopts_knit$set(upload.fun = imgur_upload, base.url = NULL) # upload all images to imgur.com\nopts_chunk$set(fig.width=5, fig.height=5, cache=TRUE)\n```\n\n# mlrMBO\n\nPackage website: [mlrmbo.mlr-org.com](https://mlrmbo.mlr-org.com/)\n\nModel-based optimization with [mlr](https://github.com/mlr-org/mlr/).\n\n\u003c!-- badges: start --\u003e\n[![tic](https://github.com/mlr-org/mlrMBO/workflows/tic/badge.svg?branch=master)](https://github.com/mlr-org/mlrMBO/actions)\n[![CRAN_Status_Badge](https://www.r-pkg.org/badges/version/mlrMBO)](https://cran.r-project.org/package=mlrMBO)\n[![Coverage Status](https://img.shields.io/codecov/c/github/mlr-org/mlrMBO/master.svg)](https://codecov.io/github/mlr-org/mlrMBO?branch=master)\n[![Monthly RStudio CRAN Downloads](https://cranlogs.r-pkg.org/badges/mlrMBO)](https://CRAN.R-project.org/package=mlrMBO)\n\u003c!-- badges: end --\u003e\n\n* [Documentation](https://mlrmbo.mlr-org.com/)\n* [Issues, Requests and Bug Tracker](https://github.com/mlr-org/mlrMBO/issues)\n\n# Installation\n\nWe recommend to install the official release version:\n\n```{r, eval = FALSE}\ninstall.packages(\"mlrMBO\")\n```\n\nFor experimental use you can install the latest development version:\n\n```{r, eval = FALSE}\nremotes::install_github(\"mlr-org/mlrMBO\")\n```\n\n# Introduction\n\n```{r animation, message = FALSE, warning = FALSE, echo=FALSE, eval=TRUE, fig.width=7, fig.height=4, animation.hook='gifski'}\nset.seed(2)\nlibrary(ggplot2)\nlibrary(mlrMBO)\nlibrary(animation)\nconfigureMlr(show.learner.output = FALSE)\npause = interactive()\nset.seed(1)\n\nfn = makeCosineMixtureFunction(1)\nobj.fun = convertToMinimization(fn)\n# mbo control with defaults\n\nctrl = makeMBOControl()\nctrl = setMBOControlTermination(ctrl, iters = 10L)\nctrl = setMBOControlInfill(ctrl, crit = makeMBOInfillCritEI(), opt = \"focussearch\", opt.focussearch.points = 500L, opt.restarts = 1L)\n\ndesign = generateDesign(5L, getParamSet(obj.fun), fun = lhs::maximinLHS)\n\nrun = exampleRun(obj.fun, design = design,\n  control = ctrl, points.per.dim = 1000, show.info = TRUE)\n\nfor(i in 1:10) {\n  plotExampleRun(run, iters = i, pause = pause, densregion = TRUE, gg.objects = list(theme_bw()))\n}\n```\n\n`mlrMBO` is a highly configurable R toolbox for model-based / Bayesian optimization of black-box functions.\n\nFeatures:\n\n* 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)\n* Mixed search spaces with numerical, integer, categorical and subordinate parameters\n* Arbitrary parameter transformation allowing to optimize on, e.g., logscale\n* Optimization of noisy objective functions\n* Multi-Criteria optimization with approximated Pareto fronts\n* Parallelization through multi-point batch proposals\n* Parallelization on many parallel back-ends and clusters through [batchtools](https://github.com/mllg/batchtools) and [parallelMap](https://github.com/mlr-org/parallelMap)\n\nFor the *surrogate*, `mlrMBO` allows any regression learner from [`mlr`](https://github.com/mlr-org/mlr), including:\n\n* Kriging aka. Gaussian processes (i.e. `DiceKriging`)\n* random Forests (i.e. `randomForest`)\n* and many more...\n\nVarious *infill criteria* (aka. _acquisition functions_) are available:\n\n* Expected improvement (EI)\n* Upper/Lower confidence bound (LCB, aka. statistical lower or upper bound)\n* Augmented expected improvement (AEI)\n* Expected quantile improvement (EQI)\n* API for custom infill criteria\n\nObjective functions are created with package [smoof](https://github.com/jakobbossek/smoof), which also offers many test functions for example runs or benchmarks.\n\nParameter spaces and initial designs are created with package [ParamHelpers](https://github.com/mlr-org/ParamHelpers).\n\n\n# How to Cite\n\nPlease cite our [arxiv paper](https://arxiv.org/abs/1703.03373) (Preprint).\nYou can get citation info via `citation(\"mlrMBO\")` or copy the following BibTex entry:\n\n```bibtex\n@article{mlrMBO,\n  title = {{{mlrMBO}}: {{A Modular Framework}} for {{Model}}-{{Based Optimization}} of {{Expensive Black}}-{{Box Functions}}},\n  url = {https://arxiv.org/abs/1703.03373},\n  shorttitle = {{{mlrMBO}}},\n  archivePrefix = {arXiv},\n  eprinttype = {arxiv},\n  eprint = {1703.03373},\n  primaryClass = {stat},\n  author = {Bischl, Bernd and Richter, Jakob and Bossek, Jakob and Horn, Daniel and Thomas, Janek and Lang, Michel},\n  date = {2017-03-09},\n}\n```\n\nSome parts of the package were created as part of other publications.\nIf you use these parts, please cite the relevant work appropriately:\n\n* 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)\n* 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)\n* 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)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlr-org%2Fmlrmbo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmlr-org%2Fmlrmbo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlr-org%2Fmlrmbo/lists"}