A importância de árvores de decisão como proposta para classificadores deve-se a:
- Bons classificadores;
- Boas características para visualização;
- Regras do tipo "SE … ENTÃO …";
- Estas regras já, implicitamente, contemplam interações.
A importância de árvores de decisão como proposta para classificadores deve-se a:
Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species | |
---|---|---|---|---|---|
105 | 6.5 | 3.0 | 5.8 | 2.2 | virginica |
86 | 6.0 | 3.4 | 4.5 | 1.6 | versicolor |
2 | 4.9 | 3.0 | 1.4 | 0.2 | setosa |
3 | 4.7 | 3.2 | 1.3 | 0.2 | setosa |
133 | 6.4 | 2.8 | 5.6 | 2.2 | virginica |
library(rpart) library(rattle) library(rpart.plot) fit = rpart(Species~., data=iris) fancyRpartPlot(fit)
pred = predict(fit, type="class") tbl = table(predicao=pred, observado=iris$Species) knitr::kable(tbl)
setosa | versicolor | virginica | |
---|---|---|---|
setosa | 50 | 0 | 0 |
versicolor | 0 | 49 | 5 |
virginica | 0 | 1 | 45 |
knitr::kable(prop.table(tbl, margin=2), digits = 2)
setosa | versicolor | virginica | |
---|---|---|---|
setosa | 1 | 0.00 | 0.0 |
versicolor | 0 | 0.98 | 0.1 |
virginica | 0 | 0.02 | 0.9 |
library(randomForest) fit2 = randomForest(Species~., data=iris)
pred2 = predict(fit2, type="class") tbl2 = table(predicao=pred2, observado=iris$Species) knitr::kable(tbl2)
setosa | versicolor | virginica | |
---|---|---|---|
setosa | 50 | 0 | 0 |
versicolor | 0 | 47 | 3 |
virginica | 0 | 3 | 47 |
A redução no Índice de Gini é a quantidade mais utilizada para averiguação da importância de uma variável dentro de uma floresta aleatória.
varImp(fit2)
Overall | |
---|---|
Sepal.Length | 9.561939 |
Sepal.Width | 2.159685 |
Petal.Length | 42.162358 |
Petal.Width | 45.403669 |
varImpPlot(fit2, main = "Importância de Variáveis - iris")