El random forest es un algoritmo de machine learning de uso común registrado por Leo Breiman y Adele Cutler, que combina la salida de múltiples árboles de decisión para alcanzar un solo resultado. Su facilidad de uso y flexibilidad han impulsado su adopción, ya que maneja problemas de clasificación y regresión.
Dado que el modelo de random forest se compone de varios árboles de decisión, sería útil comenzar describiendo brevemente el algoritmo del árbol de decisión. Los árboles de decisión comienzan con una pregunta básica, como "¿Debería navegar?" A partir de ahí, puede hacer una serie de preguntas para determinar una respuesta, como, "¿Es un oleaje prolongado?" o "¿El viento sopla en alta mar?". Estas preguntas constituyen los nodos de decisión en el árbol, actuando como un medio para dividir los datos. Cada pregunta ayuda a un individuo a llegar a una decisión final, que sería indicada por el nodo hoja. Las observaciones que se ajusten a los criterios seguirán la rama "Sí" y las que no lo hagan seguirán la ruta alternativa. Los árboles de decisión buscan encontrar la mejor división para crear subconjuntos de datos y, por lo general, se entrenan mediante el algoritmo del árbol de clasificación y regresión (CART). Se pueden utilizar métricas, como la impureza de Gini, la ganancia de información o el error cuadrático medio (MSE), para evaluar la calidad de la división.
Este árbol de decisiones es un ejemplo de un problema de clasificación, donde las etiquetas de clase son "navegar" y "no navegar".
Si bien los árboles de decisión son algoritmos comunes de aprendizaje supervisado, pueden ser propensos a problemas, como sesgos y sobreajuste. Sin embargo, cuando varios árboles de decisión forman un conjunto en el algoritmo de random forest, predicen resultados más precisos, especialmente cuando los árboles individuales no están correlacionados entre sí.
Los métodos de aprendizaje por conjuntos se componen de un conjunto de clasificadores, por ejemplo, árboles de decisión, y sus predicciones se agregan para identificar el resultado más popular. Los métodos de conjunto más conocidos son el ensacado, también conocido como agregación de arranque, y el impulso. En 1996, Leo Breiman (el enlace se encuentra fuera de ibm.com) (PDF, 810 KB) introdujo el método de ensacado; en este método, se selecciona una muestra aleatoria de datos en un conjunto de entrenamiento con reemplazo, lo que significa que los puntos de datos individuales se pueden elegir más de una vez. Después de generar varias muestras de datos, estos modelos se entrenan de forma independiente y, según el tipo de tarea, es decir, regresión o clasificación, el promedio o la mayoría de esas predicciones arrojan una estimación más precisa. Este enfoque se usa comúnmente para reducir la variación dentro de un conjunto de datos ruidoso.
El algoritmo de bosque aleatorio es una extensión del método de ensacado, ya que utiliza tanto el ensacado como la aleatoriedad de características para crear un bosque no correlacionado de árboles de decisión. Aleatoriedad de características, también conocida como agrupación de características o "el método del subespacio aleatorio " (enlace externo a ibm.com) (PDF, 121 KB), genera un subconjunto aleatorio de características, lo que garantiza una baja correlación entre los árboles de decisión. Ésta es una diferencia clave entre los árboles de decisión y los bosques aleatorios. Mientras que los árboles de decisión consideran todas las posibles divisiones de características, los bosques aleatorios solo seleccionan un subconjunto de esas características.
Si volvemos a la pregunta "¿debería navegar?" Por ejemplo, las preguntas que puedo hacer para determinar la predicción pueden no ser tan completas como el conjunto de preguntas de otra persona. Al tener en cuenta toda la variabilidad potencial en los datos, podemos reducir el riesgo de sobreajuste, sesgo y varianza general, lo que da como resultado predicciones más precisas.
SPSS Modeler
Los algoritmos de random forest tienen tres hiperparámetros principales, que deben configurarse antes del entrenamiento. Estos incluyen el tamaño del nodo, la cantidad de árboles y la cantidad de características muestreadas. A partir de ahí, el clasificador de random forest se puede utilizar para solucionar problemas de regresión o clasificación.
El algoritmo de random forest se compone de un conjunto de árboles de decisión, y cada árbol del conjunto se compone de una muestra de datos extraída de un conjunto de entrenamiento con reemplazo, llamada muestra de arranque. De esa muestra de entrenamiento, un tercio se reserva como datos de prueba, lo que se conoce como muestra fuera de la bolsa (oob), a la que volveremos más adelante. Luego, se inyecta otra instancia de aleatoriedad a través del agrupamiento de características, lo que agrega más diversidad al conjunto de datos y reduce la correlación entre los árboles de decisión. Dependiendo del tipo de problema, la determinación de la predicción variará. Para una tarea de regresión, se promediarán los árboles de decisión individuales, y para una tarea de clasificación, un voto mayoritario, es decir, la variable categórica más frecuente, arrojará la clase predicha. Finalmente, la muestra de oob se utiliza para la validación cruzada, finalizando esa predicción.
Hay una serie de ventajas y desafíos clave que presenta el algoritmo de random forest cuando se usa para problemas de clasificación o regresión. Algunos de ellos incluyen:
El algoritmo de random forest se ha aplicado en varias industrias, lo que les permite tomar mejores decisiones comerciales. Algunos casos de uso incluyen:
IBM SPSS Modeler es un conjunto de herramientas de minería de datos que le permite desarrollar modelos predictivos para implementarlos en las operaciones comerciales. Diseñado en torno al modelo CRISP-DM estándar de la industria, IBM SPSS Modeler admite todo el proceso de minería de datos, desde el procesamiento de datos hasta mejores resultados comerciales.
El nodo de random forest en SPSS Modeler se implementa en Python. La pestaña Python en la paleta de nodos contiene este nodo y otros nodos de Python.
Para obtener más información sobre las herramientas y soluciones basadas en random forests de IBM, regístrese para obtener un IBMid y crear una cuenta de IBM Cloud hoy mismo.