Plot of predicted response vs observed or variable Values.

plot_prediction(object, ..., variable = "_y_", smooth = FALSE,
  abline = FALSE)

plotPrediction(object, ..., variable = NULL, smooth = FALSE,
  abline = FALSE)

Arguments

object

An object of class 'auditor_model_residual.

...

Other modelAudit or modelResiduals objects to be plotted together.

variable

Name of variable to order residuals on a plot. If variable="_y_", the data is ordered by a vector of actual response (y parameter passed to the explain function). If variable = "_y_hat_" the data on the plot will be ordered by predicted response. If variable = NULL, unordered observations are presented.

smooth

Logical, indicates whenever smooth line should be added.

abline

Logical, indicates whenever function y = x should be added. Works only with variable = NULL which is a default option.

Value

A ggplot2 object.

Examples

dragons <- DALEX::dragons[1:100, ] # fit a model model_lm <- lm(life_length ~ ., data = dragons) # use DALEX package to wrap up a model into explainer exp_lm <- DALEX::explain(model_lm, data = dragons, y = dragons$life_length)
#> Preparation of a new explainer is initiated #> -> model label : lm (default) #> -> data : 100 rows 8 cols #> -> target variable : 100 values #> -> predict function : yhat.lm will be used (default) #> -> predicted values : numerical, min = 585.8311 , mean = 1347.787 , max = 2942.307 #> -> residual function : difference between y and yhat (default) #> -> residuals : numerical, min = -88.41755 , mean = -1.489291e-13 , max = 77.92805 #> A new explainer has been created!
# validate a model with auditor library(auditor) mr_lm <- model_residual(exp_lm) # plot results plot_prediction(mr_lm, abline = TRUE)
plot_prediction(mr_lm, variable = "height", smooth = TRUE)
plot(mr_lm, type = "prediction", abline = TRUE)
library(randomForest) model_rf <- randomForest(life_length~., data = dragons) exp_rf <- DALEX::explain(model_rf, data = dragons, y = dragons$life_length)
#> Preparation of a new explainer is initiated #> -> model label : randomForest (default) #> -> data : 100 rows 8 cols #> -> target variable : 100 values #> -> predict function : yhat.randomForest will be used (default) #> -> predicted values : numerical, min = 758.3806 , mean = 1341.318 , max = 2467.946 #> -> residual function : difference between y and yhat (default) #> -> residuals : numerical, min = -179.3754 , mean = 6.468589 , max = 430.475 #> A new explainer has been created!
mr_rf <- model_residual(exp_rf) plot_prediction(mr_lm, mr_rf, variable = "height", smooth = TRUE)