In Python, there's scikit learn package which unifies a large number of machine learning/data processing methods under uniform interface.

Is there anything similar to it for R?


4 Answers 4


1. caret

caret has been used by me with success: http://caret.r-forge.r-project.org/

2. MLR

There is also the MLR package: https://cran.r-project.org/web/packages/mlr/index.html

From the site:

Interface to a large number of classification and regression techniques, including machine-readable parameter descriptions. There is also an experimental extension for survival analysis, clustering and general, example-specific cost-sensitive learning. Generic resampling, including cross-validation, bootstrapping and subsampling. Hyperparameter tuning with modern optimization techniques, for single- and multi-objective problems. Filter and wrapper methods for feature selection. Extension of basic learners with additional operations common in machine learning, also allowing for easy nested resampling. Most operations can be parallelized.

I have tried and used MLR and it works nicely.


I like 'h2o'.

It has:

  • Aggregator
  • Principal Component Analysis (pca)
  • k-means
  • Deep Learning
  • Distributed Random Forest (rf)
  • Gradient Boosted Machine (gbm)
  • Generalized Linear model (glm)
  • Generalized Low-Rank model (glrm)
  • Naive Bayes

These are all wired into a single interface. It is good at using all the cores on your machines, and having interfaces to a number of development environments. You can access in a multitude of languages (java, R, web-based, spark, ...)

I like to run thing in r/h2o and watch live via the H2O flow interface.


Look at the library tidymodels (https://www.tidymodels.org), a collection of packages for modelling and machine learning using tidyverse principles. Tidymodels is the successor to the caret package.

  • As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.
    – Community Bot
    Commented May 10, 2023 at 1:31

No.To my knowledge, there is no single package in R that unifies supervised and unsupervised machine learning methods (and documentation) in a similar way that scikit-learn does for Python. But as Scortchi commented, the R formula interface for expressing your model is used in many of the individual R packages.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.