Learn R Programming

⚠️There's a newer version (3.9.0) of this package.Take me there.

MachineShop: Machine Learning Models and Tools for R

Description

MachineShop is a meta-package for statistical and machine learning with a unified interface for model fitting, prediction, performance assessment, and presentation of results. Support is provided for predictive modeling of numerical, categorical, and censored time-to-event outcomes and for resample (bootstrap, cross-validation, and split training-test sets) estimation of model performance. This vignette introduces the package interface with a survival data analysis example, followed by supported methods of variable specification; applications to other response variable types; available performance metrics, resampling techniques, and graphical and tabular summaries; and modeling strategies.

Features

  • Unified and concise interface for model fitting, prediction, and performance assessment.
  • Support for 53+ models from 28 R packages, including model specifications from the parsnip package.
  • Dynamic model parameters.
  • Ensemble modeling with stacked regression and super learners.
  • Modeling of response variables types: binary factors, multi-class nominal and ordinal factors, numeric vectors and matrices, and censored time-to-event survival.
  • Model specification with traditional formulas, design matrices, and flexible pre-processing recipes.
  • Resample estimation of predictive performance, including cross-validation, bootstrap resampling, and split training-test set validation.
  • Parallel execution of resampling algorithms.
  • Choices of performance metrics: accuracy, areas under ROC and precision recall curves, Brier score, coefficient of determination (R2), concordance index, cross entropy, F score, Gini coefficient, unweighted and weighted Cohen’s kappa, mean absolute error, mean squared error, mean squared log error, positive and negative predictive values, precision and recall, and sensitivity and specificity.
  • Graphical and tabular performance summaries: calibration curves, confusion matrices, partial dependence plots, performance curves, lift curves, and model-specific and permutation-based variable importance.
  • Model tuning over automatically generated grids and with exhaustive and random grid searches, Bayesian optimization, particle swarm optimization, quasi-Newton BFGS optimization, simulated annealing, and support for user-defined optimization functions.
  • Model selection and comparisons for any combination of models and model parameter values.
  • Recursive feature elimination.
  • User-definable models and performance metrics.

Getting Started

Installation

# Current release from CRAN
install.packages("MachineShop")

# Development version from GitHub
# install.packages("devtools")
devtools::install_github("brian-j-smith/MachineShop")

# Development version with vignettes
devtools::install_github("brian-j-smith/MachineShop", build_vignettes = TRUE)

Documentation

Once installed, the following R commands will load the package and display its help system documentation. Online documentation and examples are available at the MachineShop website.

library(MachineShop)

# Package help summary
?MachineShop

# Vignette
RShowDoc("UserGuide", package = "MachineShop")

Copy Link

Version

Install

install.packages('MachineShop')

Monthly Downloads

739

Version

3.7.0

License

GPL-3

Maintainer

Brian Smith

Last Published

September 18th, 2023

Functions in MachineShop (3.7.0)

ICHomes

Iowa City Home Sales Dataset
GLMModel

Generalized Linear Model
KNNModel

Weighted k-Nearest Neighbor Model
LARSModel

Least Angle Regression, Lasso and Infinitesimal Forward Stagewise Models
LDAModel

Linear Discriminant Analysis Model
MLModel

MLModel and MLModelFunction Class Constructors
MachineShop-package

MachineShop: Machine Learning Models and Tools
GLMNetModel

GLM Lasso or Elasticnet Model
GAMBoostModel

Gradient Boosting with Additive Models
NNetModel

Neural Network Model
NaiveBayesModel

Naive Bayes Classifier Model
QDAModel

Quadratic Discriminant Analysis Model
RFSRCModel

Fast Random Forest (SRC) Model
LMModel

Linear Models
MLControl

Resampling Controls
MDAModel

Mixture Discriminant Analysis Model
POLRModel

Ordered Logistic or Probit Regression Model
PLSModel

Partial Least Squares Model
MLMetric

MLMetric Class Constructor
TunedModel

Tuned Model
RPartModel

Recursive Partitioning and Regression Tree Models
as.MLModel

Coerce to an MLModel
as.data.frame

Coerce to a Data Frame
AdaBoostModel

Boosting with Classification Trees
GBMModel

Generalized Boosted Regression Model
GLMBoostModel

Gradient Boosting with Linear Models
TuningGrid

Tuning Grid Control
RandomForestModel

Random Forest Model
ModelFrame

ModelFrame Class
lift

Model Lift Curves
inputs

Model Inputs
ModelSpecification

Model Specification
SelectedInput

Selected Model Inputs
XGBModel

Extreme Gradient Boosting Models
as.MLInput

Coerce to an MLInput
resample

Resample Estimation of Model Performance
SelectedModel

Selected Model
ParsnipModel

Parsnip Model
ParameterGrid

Tuning Parameters Grid
SurvMatrix

SurvMatrix Class Constructors
SVMModel

Support Vector Machine Models
RangerModel

Fast Random Forest Model
SurvRegModel

Parametric Survival Model
calibration

Model Calibration
case_weights

Extract Case Weights
expand_model

Model Expansion Over Tuning Parameters
TreeModel

Classification and Regression Tree Models
TunedInput

Tuned Model Inputs
StackedModel

Stacked Regression Model
response

Extract Response Variable
combine

Combine MachineShop Objects
expand_steps

Recipe Step Parameters Expansion
SuperModel

Super Learner Model
extract

Extract Elements of an Object
expand_params

Model Parameters Expansion
fit

Model Fitting
diff

Model Performance Differences
dependence

Partial Dependence
plot

Model Performance Plots
confusion

Confusion Matrix
expand_modelgrid

Model Tuning Grid Expansion
t.test

Paired t-Tests for Model Comparisons
unMLModelFit

Revert an MLModelFit Object
print

Print MachineShop Objects
predict

Model Prediction
recipe_roles

Set Recipe Roles
reexports

Objects exported from other packages
step_kmeans

K-Means Clustering Variable Reduction
modelinfo

Display Model Information
performance

Model Performance Metrics
step_kmedoids

K-Medoids Clustering Variable Selection
metricinfo

Display Performance Metric Information
metrics

Performance Metrics
step_lincomp

Linear Components Variable Reduction
set_strata

Resampling Stratification Control
settings

MachineShop Settings
models

Models
quote

Quote Operator
set_optim

Tuning Parameter Optimization
set_predict

Resampling Prediction Control
step_spca

Sparse Principal Components Analysis Variable Reduction
summary

Model Performance Summaries
step_sbf

Variable Selection by Filtering
performance_curve

Model Performance Curves
set_monitor

Training Parameters Monitoring Control
rfe

Recursive Feature Elimination
varimp

Variable Importance
AdaBagModel

Bagging with Classification Trees
BlackBoostModel

Gradient Boosting with Regression Trees
C50Model

C5.0 Decision Trees and Rule-Based Model
DiscreteVariate

Discrete Variate Constructors
EarthModel

Multivariate Adaptive Regression Splines Model
CForestModel

Conditional Random Forest Model
CoxModel

Proportional Hazards Regression Model
BARTModel

Bayesian Additive Regression Trees Model
BARTMachineModel

Bayesian Additive Regression Trees Model
FDAModel

Flexible and Penalized Discriminant Analysis Models