При построении модели CART (в частности, дерева классификации) с использованием rpart (в R) часто бывает интересно узнать, какова важность различных переменных, введенных в модель.
Таким образом, мой вопрос: какие общие меры существуют для ранжирования / измерения важности переменных участвующих переменных в модели CART? И как это можно вычислить с помощью R (например, при использовании пакета rpart)
Например, вот некоторый фиктивный код, созданный, чтобы вы могли показать на нем свои решения. Этот пример структурирован таким образом, что ясно, что переменные x1 и x2 являются «важными», в то время как (в некотором смысле) x1 более важен, чем x2 (поскольку x1 должен применяться к большему количеству случаев, таким образом оказывая большее влияние на структуру данных, тогда х2).
set.seed(31431)
n <- 400
x1 <- rnorm(n)
x2 <- rnorm(n)
x3 <- rnorm(n)
x4 <- rnorm(n)
x5 <- rnorm(n)
X <- data.frame(x1,x2,x3,x4,x5)
y <- sample(letters[1:4], n, T)
y <- ifelse(X[,2] < -1 , "b", y)
y <- ifelse(X[,1] < 0 , "a", y)
require(rpart)
fit <- rpart(y~., X)
plot(fit); text(fit)
info.gain.rpart(fit) # your function - telling us on each variable how important it is
(ссылки всегда приветствуются)