¿Se puede explicar la predicción de un modelo de caja negra?
Imaginemos un banco que construye modelos para determinar si se concede o no un crédito. Este banco tiene varias opciones para crear el modelo. Sin embargo, en algunos países el regulador exige que el banco pueda explicar el motivo de la denegación de un crédito cuando un cliente lo solicite.
Esa restricción impediría potencialmente usar modelos de caja negra como el que construyo a continuación:
library(randomForest)
raw <- read.table("http://archive.ics.uci.edu/ml/machine-learning-databases/credit-screening/crx.data",
sep = ",", na.strings = "?")
dat <- raw
dat$V14 <- dat$V6 <- NULL # me da igual
dat <- na.omit(dat) # ídem
modelo <- randomForest(V16 ~ ., data = dat)
Fijémonos en el sujeto 100
, a quien se le deniega el crédito (suponiendo, ¡mal hecho!, que el punto de corte de la probabilidad para concederlo es el 50%), y la variable $V8$. Podemos ver cuál sería el score del cliente modificando esa variable entre su valor real y el máximo del rango dejando las demás tal cual: