https://github.com/SchlossLab/mikropml
User-Friendly R Package for Supervised Machine Learning Pipelines
https://github.com/SchlossLab/mikropml
machine-learning r-package rstats
Last synced: about 11 hours ago
JSON representation
User-Friendly R Package for Supervised Machine Learning Pipelines
- Host: GitHub
- URL: https://github.com/SchlossLab/mikropml
- Owner: SchlossLab
- License: other
- Created: 2019-12-09T22:37:38.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-02-26T04:48:03.000Z (5 months ago)
- Last Synced: 2025-07-08T02:04:23.305Z (6 days ago)
- Topics: machine-learning, r-package, rstats
- Language: R
- Homepage: http://www.schlosslab.org/mikropml
- Size: 143 MB
- Stars: 58
- Watchers: 7
- Forks: 18
- Open Issues: 19
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Support: .github/SUPPORT.md
Awesome Lists containing this project
README
---
output:
github_document
---```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```> meek-ROPE em el
User-Friendly R Package for Supervised Machine Learning Pipelines
[](https://github.com/SchlossLab/mikropml/actions?query=workflow%3Acheck+branch%3Amain)
[](https://app.codecov.io/gh/SchlossLab/mikropml)
[](https://github.com/SchlossLab/mikropml/blob/main/LICENSE.md)
[](https://CRAN.R-project.org/package=mikropml)
[](https://anaconda.org/conda-forge/r-mikropml)
[](https://doi.org/10.21105/joss.03073)An interface to build machine learning models for classification and regression
problems. `mikropml` implements the ML pipeline described by [Topçuoğlu _et al._
(2020)](https://doi.org/doi:10.1128/mBio.00434-20) with reasonable default
options for data preprocessing, hyperparameter tuning, cross-validation,
testing, model evaluation, and interpretation steps. See the
[website](http://www.schlosslab.org/mikropml/) for more information,
documentation, and examples.## Installation
You can install the latest release from
[CRAN](https://cran.r-project.org/package=mikropml):```{r install_cran, eval = FALSE}
install.packages('mikropml')
```or the development version from
[GitHub](https://github.com/SchlossLab/mikRopML):```{r install_github, eval = FALSE}
# install.packages("devtools")
devtools::install_github("SchlossLab/mikropml")
```or install from a terminal using
[conda](https://docs.conda.io/projects/conda/en/latest/index.html)
or [mamba](https://mamba.readthedocs.io/en/latest/):```{bash conda, eval = FALSE}
mamba install -c conda-forge r-mikropml
```### Dependencies
```{r deps, echo = FALSE, message = FALSE, warning = FALSE}
library(dplyr)
description <- utils::packageDescription('mikropml',
fields = c('Imports', 'Suggests'))
deps <- lapply(names(description),
function (x) {
paste0('- ', x, ': ',
description[[x]] %>%
gsub("\n", " ", .))}
) %>%
unlist() %>%
paste(., collapse = '\n')
````r deps`
## Usage
Check out the [introductory
vignette](http://www.schlosslab.org/mikropml/articles/introduction.html) for a
quick start tutorial. For a more in-depth discussion, read [all the
vignettes](http://www.schlosslab.org/mikropml/articles/index.html) and/or take a
look at the [reference
documentation](http://www.schlosslab.org/mikropml/reference/index.html).You can watch the Riffomonas Project series of
[video tutorials](https://www.youtube.com/playlist?list=PLmNrK_nkqBpKpzb9-vI4V7SdXC-jXEcmg)
covering mikropml and other skills related to machine learning.We also provide a
[Snakemake workflow](https://github.com/SchlossLab/mikropml-snakemake-workflow)
for running `mikropml` locally or on an HPC.
We highly recommend running `mikropml` with Snakemake or another workflow
management system for reproducibility and scalability of ML analyses.## Help & Contributing
If you come across a bug,
[open an issue](https://github.com/SchlossLab/mikropml/issues)
and include a
[minimal reproducible example](https://www.tidyverse.org/help/).If you have questions, create a new post in
[Discussions](https://github.com/SchlossLab/mikropml/discussions).If you'd like to contribute, see our guidelines
[here](http://www.schlosslab.org/mikropml/CONTRIBUTING.html).## Code of Conduct
Please note that the mikropml project is released with a [Contributor Code of
Conduct](http://www.schlosslab.org/mikropml/CODE_OF_CONDUCT.html). By
contributing to this project, you agree to abide by its terms.## License
The mikropml package is licensed under
[the MIT license](https://github.com/SchlossLab/mikropml/blob/main/LICENSE.md).
Text and images included in this repository, including the mikropml logo,
are licensed under the [CC BY 4.0 license](https://creativecommons.org/licenses/by/4.0/).## Citation
To cite mikropml in publications, use:
> ```{r cite_text, echo = FALSE, results = 'asis'}
> cat(format(citation('mikropml'), style = 'html'))
> ```A BibTeX entry for LaTeX users is:
```{r cite_bibtex, echo = FALSE, comment = '', results = 'asis'}
cat("```\n", format(citation('mikropml'), style = 'bibtex'), "\n```")
```## Why the name?
The word "mikrop" (pronounced "meek-ROPE") is Turkish for "microbe". This
package was originally implemented as a machine learning pipeline for
microbiome-based classification problems (see [Topçuoğlu _et al._
2020](https://doi.org/10.1128/mBio.00434-20)). We realized that these methods
are applicable in many other fields too, but stuck with the name because we like
it!