Compare Supervised Machine Learning Models Using Shiny App
shinyML
Implement in one line of code a shareable web app to compare supervised machine learning models for regression and classification tasks!
With shinyML
, you can compare your favorite regression or
classification models issued from H2O or Spark frameworks
without any effort.
Installation
The package can be installed from CRAN:
install.packages("shinyML")
You can also install the latest development version from github:
devtools::install_github("JeanBertinR/shinyML")
Getting started: create the shinyML web app in just one list of code
This is a basic examples which shows you how to run the app:
library(shinyML)
# An example of regression task
shinyML_regression(data = iris,y = "Petal.Width",framework = "h2o")
# An example of classification task
shinyML_classification(data = iris,y = "Species",framework = "h2o")
Please note that shinyML_regression
and shinyML_classification
will
automatically detect if you input dataset contains time-based column: in
that case, train/test splitting will be adapted to time-series
forecasting.
# An example of time-series forecasting
longley2 <- longley %>% mutate(Year = as.Date(as.character(Year),format = "%Y"))
shinyML_regression(data = longley2,y = "Population",framework = "h2o")
Explore input dataset before running the models…
Before running machine learning models, it can be useful to inspect the
distribution of each variable and to have an insight of
dependencies between explanatory variables. BothshinyML_regression
and shinyML_classification
functions allows to check classes of
explanatory variables, plot histograms of each distribution and
show correlation matrix between all variables. This tabs can be used
to determine if some variable are strongly correlated to another and
eventually removed from the training phase.You can also plot variation
of every variable as a function of another using the “Explore
dataset” tab.
Test different machine learning techniques and hyper-parameters configurations with just a few clicks
To test supervised machine learning models on shinyML
package, the
first step consist in separating train and test period from your
dataset: this can be done in one second using slider button on the right
shinyML app side. You can also remove variables from your initial
selection directly from app just simply using “Input variable” textbox.
You are then free to select hyper-parameters configuration for your
favorite machine learning model.
Note that hidden layers of deep learning technique can be set inside the
corresponding text box: the default c(200,200) configuration corresponds
to a two hidden-layers neural network, with 200 neurons for each layer.
Run at the same time all machine learning techniques to compare variable importances and error metrics
You can easily use shinyML
package to compare different machine
learning techniques with your own hyper-parameters configuration. For
that, you will just need to use shiny app buttons corresponding to your
parameters and click then to “Run tuned models !”
You will see a validation message box once all models have been trained: at that point, you can have an overview of your results comparing variables importances and error metrics like MAPE or *RMSE**.
Run autoML algorithm to find automatically configure the best machine learning regression model associated to your dataset
AutoML
algorithm will automatically find the best algorithm to
suit your regression or classification task: the user will be informed
of the machine learning model that has been selected and know
which hyper-parameters have been chosen.
The only setting that must be adjusted by the user is the maximum time authorized for searching.
For more information take a look at the package vignette.