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.

Installation

You can install latest stable cran version using (recommended):

install.packages("superml")

You can install superml from github with:

devtools::install_github("saraswatmks/superml")

Description

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

Usage

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

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

Documentation

The documentation can be found here: SuperML Documentation

Contributions & Support

SuperML is my ambitious effort to help people train machine learning models in R as easily as they do in python. I encourage you to use this library, post bugs and feature suggestions in the issues above.

News

superml 0.4.0

  • Fixed svm error. Replaced liquidSVM with e1071 R package.

superml 0.3.0

  • Moved some imports to suggests

superml 0.2.0

  • Added new trainers: SVM, NaiveBayes
  • Renamed gridsearch, randomsearch trainers to CV
  • Fixed documentation

superml 0.1.0

  • Added a NEWS.md file to track changes to the package.
  • Fixed travis-ci integration

Reference manual

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

install.packages("superml")

0.4.0 by Manish Saraswat, 3 months ago


https://github.com/saraswatmks/superml


Report a bug at https://github.com/saraswatmks/superml/issues


Browse source code at https://github.com/cran/superml


Authors: Manish Saraswat [aut, cre]


Documentation:   PDF Manual  


GPL-3 | file LICENSE license


Imports data.table, assertthat, parallel, doParallel, Metrics

Depends on R6

Suggests knitr, rlang, testthat, rmarkdown, naivebayes, ClusterR, FNN, ranger, caret, xgboost, glmnet, kableExtra, tm, Matrix, e1071


See at CRAN