![]() |
Actions | Code Coverage | Website |
---|---|---|
tornado
plots for model sensitivity analysis.
tornado
website
You can also install the development version of lhs
from
github with:
if (!require(devtools)) install.packages("devtools")
::install_github("bertcarnell/tornado") devtools
<- lm(mpg ~ cyl*wt*hp, data = mtcars)
lm1 <- tornado(lm1, type = "PercentChange", alpha = 0.10)
torn1 plot(torn1, xlabel = "MPG")
Plots can also be created for the range of the input data
<- glm(vs ~ wt + disp + cyl, data = mtcars, family = binomial(link = "logit"))
glm2 <- tornado(glm2, type = "ranges", alpha = 0.10)
torn2 plot(torn2, xlabel = "V or Straight Engine", geom_bar_control = list(width = 0.5))
Plots can include factors and percentiles of the data as well.
<- mtcars
mydata $am <- factor(mtcars$am)
mydata$vs <- factor(mtcars$vs)
mydata<- glm(mpg ~ wt + cyl + am + vs, data = mydata, family = gaussian)
glm2 <- tornado(glm2, type = "percentiles", alpha = 0.10)
torn2 plot(torn2, xlabel = "MPG",
geom_bar_control = list(width = 0.5),
sensitivity_colors = c("#E41A1C", "#377EB8"),
geom_point_control = list(fill = "red", col = "red", size = 3))
<- survival::survreg(survival::Surv(futime, fustat) ~ ecog.ps + rx + age + resid.ds,
survreg3 ::ovarian, dist = 'weibull', scale = 1)
survival<- tornado(survreg3, modeldata = survival::ovarian, type = "PercentChange", alpha = 0.10)
torn3 plot(torn3, xlabel = "Survival Time", geom_bar_control = list(width = 0.5))
<- survival::coxph(survival::Surv(stop, event) ~ rx + size + number,
coxph4 ::bladder)
survival<- tornado(coxph4, modeldata = survival::bladder, type = "PercentChange",
torn4 alpha = 0.10)
plot(torn4, xlabel = "Risk", geom_bar_control = list(width = 0.5))
The plot
method can also return a ggplot object
<- mtcars
mydat $am <- factor(mydat$am)
mydat$vs <- factor(mydat$vs)
mydat$cyl <- factor(mydat$cyl)
mydat$gear <- factor(mydat$gear)
mydat$carb <- factor(mydat$carb)
mydat
<- caret::train(x = subset(mydat, select = -vs), y = mydat$vs, method = "rf")
gtest <- tornado(gtest, type = "percentiles", alpha = 0.10, class_number = 1)
torn <- plot(torn, plot = FALSE, xlabel = "Probability of Class V-shaped Engine")
g <- g + ggtitle("Classifier caret::train randomforest, 90-110% of the mean in each variable")
g plot(g)