Build Machine Learning Models Like Using Python's Scikit-Learn Library in R

The idea is to provide a standard interface to users who use both R and Python for building machine learning models. This package provides a scikit-learn's fit, predict interface to train machine learning models in R.

CRAN status Build Status Downloads

The goal of SuperML is to provide sckit-learn's fit,predict,transform standard way of building machine learning models in R. It is build on top of latest r-packages which provides optimized way of training machine learning models.


You can install superml from github with:



In superml, every machine learning algorithm is called as a trainer. Following is the list of trainers available as of today:

  • LMTrainer: used to train linear, logistic, ridge, lasso models
  • KNNTrainer: K-Nearest Neighbour Models
  • KMeansTrainer: KMeans Model
  • NBTrainer: Naive Baiyes Model
  • SVMTrainer: SVM Model
  • RFTrainer: Random Forest Model
  • XGBTrainer: XGBoost Model

In addition, there are other useful functions to support modeling tasks such as:

  • CountVectorizer: Create Bag of Words model
  • TfidfVectorizer: Create TF-IDF feature model
  • LabelEncoder: Convert categorical features to numeric
  • GridSearchCV: For hyperparameter optimization
  • RandomSearchCV: For hyperparameter optimization
  • kFoldMean: Target encoding
  • smoothMean: Target encoding


Any machine learning model can be trained using the following steps:

# random forest
rf <- RFTrainer$new(n_estimators = 100)
rf$fit(iris, "Species")
pred <- rf$predict(iris)


The documentation can be found here: SuperML Documentation


Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.2.0 by Manish Saraswat, a month ago

Report a bug at

Browse source code at

Authors: Manish Saraswat [aut, cre]

Documentation:   PDF Manual  

GPL-3 | file LICENSE license

Imports data.table, assertthat, Metrics, xgboost, glmnet, parallel, kableExtra, tm, naivebayes, ClusterR, FNN, liquidSVM, ranger, caret, doParallel

Depends on R6

Suggests knitr, rlang, testthat, rmarkdown

See at CRAN