🌳 Decision Tree (CART, C4.5, M5)
CHAID | CART (Sklearn) | ID3 | C4.5 | C5.0 | |
---|---|---|---|---|---|
Año de cración | 1980 | 1984 | 1986 | 1993 | 1993 |
Variables numéricas | ✔️ | ✔️ | ❌ | ✔️ | ✔️ |
Variables categóricas | ✔️ | ❌ (nota) | ✔️ | ✔️ | ✔️ |
Missings | ❌ | ❌ | ✔️ | ✔️ | |
Ramas No Binarias | ❌ | ❌ | ✔️ | ✔️ | ✔️ |
Para clasificación | ✔️ | ✔️ | ✔️ | ✔️ | |
Para regresión | ❌ | ✔️ | |||
Criterío para split | Chi-square | GINI index | Information Gain | Gain Ratio | Gain Ratio |
Vídeo (teoría) | video | video | video | video | |
Vídeo (código con Chefboost) | video | video | video | video |
(nota) No soporta las categorias pero con NominalEncoder sí
Curiosidades
- Sklearn solo implemneta CART pero Chefboost tiene todos
- C4.5 en Weka se llama J48
- C5.0 está patentado, por eso no se ve en las librerías.
- XGBoost usa CART.
Visualización del Árbol de Decisión con dtreeviz
Arbol de clasificación | Arbol de regresión |
---|---|
Árbol de Decisión + Modelo Lineal = M5
Existe una variante rara del árbol de decisión llamada Model Tree o M5 (M5P en Weka) que consiste en un árbol donde las hojas son modelos (como una regresión lineal) en lugar de constantes. Implementación en Python.