MyNixOS website logo
Description

Interactive Assessments of Models.

Launch a 'shiny' application for 'tidymodels' results. For classification or regression models, the app can be used to determine if there is lack of fit or poorly predicted points.

shinymodels

Lifecycle:experimental CRANstatus Codecov testcoverage R-CMD-check

The goal of shinymodels is to launch a Shiny app given tidymodels’ tuning or resampling results, to make it easier to explore the modeling results.

Installation

You can install the released version of shinymodels from CRAN with:

install.packages("shinymodels") 

And the development version from GitHub with:

# install.packages("pak")
pak::pak("tidymodels/shinymodels")

Example

Start by tuning or fitting to resampling folds, using tune functions like fit_resamples() or tune_bayes().

As an example, we will simulate a simple relationship:

library(shinymodels)
library(tidymodels)
tidymodels_prefer()

set.seed(1)
n <- 100
simulated <-
  data.frame(x1 = runif(n, min = -1), x2 = runif(n)) %>% 
  mutate(y = 3 - 5 * x1 + 15 * x1^2 +  + 10 * x2 + rnorm(n, sd = 5))

Let’s resample a linear regression model that is missing an important nonlinear term (i.e., poly(x1, 2)):

set.seed(2)
folds <- vfold_cv(simulated)

reg_res <-
  linear_reg() %>%
  fit_resamples(y ~ .,
                resamples = folds,
                control = control_resamples(save_pred = TRUE))

To interactively assess the model fit, we can use the explore() function:

explore(reg_res)

Use the Shiny app to explore the model results and detect any outliers or problematic observations. In the image below, the observed and predicted values are visualized, with one sample selected and highlighted. The residuals are also plotted against x1 and the quadratic pattern shows that a nonlinear term should be added.

screenshot of shiny app. Options are shown in a column to the left. Inthe main area 3 tabs are shown; Observed vs. Predicted, Residualsvs. Predicted, and Residals vs. A numericpredictor.

The explore() function can be used with objects produced by fit_resamples(), last_fit(), or any of the tune_*() functions.

Contributing

This project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Metadata

Version

0.1.1

License

Unknown

Platforms (77)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows