ExtraTreesClassifier es como un hermano de RandomForest pero con 2 diferencias importantes.
Estamos construyendo múltiples árboles de decisión. Para construir múltiples árboles, necesitamos múltiples conjuntos de datos. La mejor práctica es que no entrenamos los árboles de decisión en el conjunto de datos completo, sino que solo entrenamos en una fracción de datos (alrededor del 80%) para cada árbol. En un bosque aleatorio, dibujamos observaciones con reemplazo. Entonces podemos repetir las observaciones en un bosque aleatorio. En un Clasificador ExtraTrees, estamos dibujando observaciones sin reemplazo, por lo que no repetiremos observaciones como en un bosque aleatorio.
La división es el proceso de convertir un nodo primario no homogéneo en 2 nodos secundarios homogéneos (lo mejor posible). En RandomForest, selecciona la mejor división para convertir el padre en los dos nodos secundarios más homogéneos. En un ExtraTreesClassifier, selecciona una división aleatoria para dividir el nodo primario en dos nodos secundarios aleatorios.
Veamos algunos métodos de conjunto ordenados de alta a baja varianza, que termina en ExtraTreesClassifier.
1. Árbol de decisión (alta variación)
Por lo general, un solo árbol de decisión sobreajusta los datos de los que está aprendiendo porque aprende de una sola vía de decisiones. Las predicciones de un solo árbol de decisión generalmente no hacen predicciones precisas sobre nuevos datos.
2. Bosque aleatorio (variación media)
Los modelos forestales aleatorios reducen el riesgo de sobreajuste al introducir aleatoriedad al:
- construyendo múltiples árboles (n_estimators)
- dibujo de observaciones con reemplazo (es decir, una muestra de arranque)
- dividir nodos en la mejor división entre un subconjunto aleatorio de las características seleccionadas en cada nodo. Dividir es un proceso para convertir un nodo primario no homogéneo en 2 nodos secundarios homogéneos (lo mejor posible).
3. Árboles extra (baja variación)
Extra Trees es como un bosque aleatorio, en el sentido de que construye múltiples árboles y divide nodos usando subconjuntos aleatorios de características, pero con dos diferencias clave: no arranca las observaciones (lo que significa que muestra sin reemplazo), y los nodos se dividen en divisiones aleatorias, No las mejores divisiones. En resumen, ExtraTrees:
- construye múltiples árboles con bootstrap = False por defecto, lo que significa que muestra sin reemplazo
- los nodos se dividen en función de divisiones aleatorias entre un subconjunto aleatorio de las características seleccionadas en cada nodo
En Extra Trees, la aleatoriedad no proviene de la inicialización de los datos, sino que proviene de las divisiones aleatorias de todas las observaciones. ExtraTrees lleva el nombre de (Árboles extremadamente aleatorios).