The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

parsnip fits and condvis2

Catherine B. Hurley

2022-09-14

parsnip is a R package that offers a unified interface to many machine learning models. By writing an interface between condvis2 and parsnip a vast number of machine learning fits may be explored with condvis.

A list of models supported by parsnip is found on this link: https://www.tidymodels.org/find/parsnip/

Regression

Fit the regression model with parsnip.

library(parsnip)
library(MASS)
library(condvis2)
Boston1 <- Boston[,9:14]

fitlm <-
  linear_reg() %>%
  set_engine("lm") %>%
  fit(medv ~ ., data = Boston1)

fitrf <- rand_forest(mode="regression") %>%
  set_engine("randomForest") %>%
  fit(medv ~ ., data = Boston1)
  

Use condvis to explore the models:

condvis(Boston1, model=list(lm=fitlm,rf=fitrf), response="medv", sectionvars="lstat")

Choose tour “Diff fits” to explore differences between the fits

Some tasks, for example linear regression, support confidence intervals. Tell condvis to plot an interval using pinterval="confidence for that fit. The forest fit does not support confidence intervals so the predictArgs for that fit are NULL.

condvis(Boston1, model=list(lm=fitlm,rf=fitrf), response="medv", sectionvars="lstat",
        predictArgs=list(list(pinterval="confidence"), NULL))

Classification

Fit some classification models:

clmodel <-
   svm_poly(mode="classification") %>%
  set_engine("kernlab") %>%
  fit(Species ~ ., data = iris )

Explore with condvis:

condvis(iris, model=clmodel, response="Species", sectionvars=c("Petal.Length", "Petal.Width"), pointColor="Species")

Click on “Show probs” to see class probabilities.

Survival

Fit a survival model and explore with condvis:

library(survival) # for the data
smodel <-
  surv_reg() %>%
  set_engine("survival") %>%
  fit(Surv(time, status) ~ inst+age+sex+ph.ecog, data=lung)

condvis(na.omit(lung), smodel, response="time", sectionvars = c("inst","sex"), conditionvars=c("age","ph.ecog"))

Clustering

Unlike mlr, parsnip does not yet offer support for clustering fits.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.