Articles

una guía completa para el algoritmo de bosque Aleatorio

Posted by admin

El Bosque Aleatorio es un algoritmo de aprendizaje automático flexible y fácil de usar que produce, incluso sin ajuste de hiperparámetros, un gran resultado la mayor parte del tiempo. También es uno de los algoritmos más utilizados, debido a su simplicidad y diversidad (se puede utilizar tanto para tareas de clasificación como de regresión). En este post aprenderemos cómo funciona el algoritmo random forest, cómo se diferencia de otros algoritmos y cómo usarlo.

¿Qué es Random Forest?,

Random forest es un algoritmo de aprendizaje supervisado. El» bosque «que construye, es un conjunto de árboles de decisión, generalmente entrenados con el método de «ensacado». La idea general del método de ensacado es que una combinación de modelos de aprendizaje aumenta el resultado general.,

tabla de contenidos

  • Cómo funciona
  • analogía de la vida Real
  • Importancia de las características
  • diferencia entre árboles de decisión y bosques aleatorios
  • hiperparámetros importantes (potencia predictiva, velocidad)
  • Ventajas y desventajas
  • casos de uso
  • Resumen

cómo funciona el bosque Aleatorio

Random Forest es un algoritmo de aprendizaje supervisado. El» bosque «que construye, es un conjunto de árboles de decisión, generalmente entrenados con el método de «ensacado»., La idea general del método de ensacado es que una combinación de modelos de aprendizaje aumenta el resultado general.

En pocas palabras: random forest construye múltiples árboles de decisión y los fusiona para obtener una predicción más precisa y estable.

una gran ventaja de random forest es que se puede usar tanto para problemas de clasificación como de regresión, que forman la mayoría de los sistemas actuales de aprendizaje automático. Veamos el bosque aleatorio en la clasificación, ya que la clasificación a veces se considera el bloque de construcción del aprendizaje automático., A continuación puede ver cómo se vería un bosque Aleatorio con dos árboles:

El Bosque Aleatorio tiene casi los mismos hiperparámetros que un árbol de decisión o un clasificador de ensacado. Afortunadamente, no hay necesidad de combinar un árbol de decisiones con un clasificador de ensacado porque puede usar fácilmente la clase clasificador de random forest. Con random forest, también puede hacer frente a las tareas de regresión mediante el uso del regresor del algoritmo.

Random forest agrega aleatoriedad adicional al modelo, mientras crece los árboles., En lugar de buscar la característica más importante al dividir un nodo, busca la mejor característica entre un subconjunto aleatorio de entidades. Esto da como resultado una amplia diversidad que generalmente resulta en un mejor modelo.

por lo tanto, en random forest, solo un subconjunto aleatorio de las entidades es tomado en consideración por el algoritmo para dividir un nodo. Incluso puede hacer que los árboles sean más aleatorios mediante el uso adicional de umbrales aleatorios para cada característica en lugar de buscar los mejores umbrales posibles (como lo hace un árbol de decisión normal).,

analogía de la vida real

Andrew quiere decidir a dónde ir durante las vacaciones de un año, por lo que pide sugerencias a las personas que lo conocen mejor. El primer amigo que busca le pregunta sobre los gustos y disgustos de sus viajes pasados. Basado en las respuestas, le dará algunos consejos a Andrew.

Este es un enfoque típico de algoritmo de árbol de decisión. El amigo de Andrew creó reglas para guiar su decisión sobre lo que debería recomendar, usando las respuestas de Andrew.,

Después, Andrew comienza a pedir más y más a sus amigos que lo asesoren y nuevamente le hacen diferentes preguntas que pueden usar para derivar algunas recomendaciones. Finalmente, Andrew elige los lugares que más le recomiendan, que es el típico enfoque de algoritmo de bosque Aleatorio.

importancia de la característica

otra gran cualidad del algoritmo random forest es que es muy fácil medir la importancia relativa de cada característica en la predicción., Sklearn proporciona una gran herramienta para esto que mide la importancia de una característica al observar cuánto los nodos de árbol que usan esa característica reducen la impureza en todos los árboles del bosque. Calcula esta puntuación automáticamente para cada función después del entrenamiento y escala los resultados para que la suma de toda la importancia sea igual a uno.

si no sabes cómo funciona un árbol de decisión o qué es una hoja o nodo, aquí hay una buena descripción de Wikipedia: «en un árbol de decisión cada nodo interno representa una ‘prueba’ en un atributo (p. ej., si un lanzamiento de moneda sale cara o cruz), cada rama representa el resultado de la prueba, y cada nodo de hoja representa una etiqueta de clase (decisión tomada después de calcular todos los atributos). Un nodo que no tiene hijos es una hoja.'»

al observar la importancia de las características, puede decidir qué características eliminar posiblemente porque no contribuyen lo suficiente (o a veces no contribuyen en absoluto) al proceso de predicción. Esto es importante porque una regla general en el aprendizaje automático es que cuantas más características tenga, más probable es que su modelo sufra un sobreajuste y viceversa.,

a continuación se muestra una tabla y visualización que muestra la importancia de 13 características, que utilicé durante un proyecto de clasificación supervisado con el famoso conjunto de datos Titanic en kaggle. Puedes encontrar todo el proyecto aquí.

La diferencia entre el punto de Decisión los Árboles y los Bosques Aleatorios

Mientras bosque aleatorio es una colección de árboles de decisión, existen algunas diferencias.,

Si introduce un conjunto de datos de entrenamiento con características y etiquetas en un árbol de decisiones, formulará un conjunto de reglas, que se utilizarán para hacer las predicciones.

por ejemplo, para predecir si una persona hará clic en un anuncio en línea, puede recopilar los anuncios en los que la persona hizo clic en el pasado y algunas características que describen su decisión. Si coloca las características y etiquetas en un árbol de decisiones, generará algunas reglas que ayudan a predecir si se hará clic en el anuncio o no., En comparación, el algoritmo random forest selecciona aleatoriamente observaciones y características para construir varios árboles de decisión y luego promedia los resultados.

otra diferencia es que los árboles de decisión «profundos» podrían sufrir de sobreajuste. La mayoría de las veces, random forest evita esto creando subconjuntos aleatorios de las entidades y construyendo árboles más pequeños usando esos subconjuntos. Después, combina los subárboles. Es importante tener en cuenta que esto no funciona cada vez y también hace que el cálculo sea más lento, dependiendo de cuántos árboles construya el bosque Aleatorio.,

hiperparámetros importantes

los hiperparámetros en random forest se utilizan para aumentar el poder predictivo del modelo o para hacer que el modelo sea más rápido. Echemos un vistazo a los hiperparámetros de la función de bosque Aleatorio incorporada de sklearns.

1. Aumentando el poder predictivo

En primer lugar, está el hiperparámetro n_estimadores, que es solo el número de árboles que el algoritmo construye antes de tomar la votación máxima o tomar los promedios de las predicciones., En general, un mayor número de árboles aumenta el rendimiento y hace que las predicciones sean más estables, pero también ralentiza el cálculo.

otro hiperparámetro importante es max_features, que es el número máximo de entidades que random forest considera para dividir un nodo. Sklearn proporciona varias opciones, todas descritas en la documentación.

El último hiperparámetro importante es min_sample_leaf. Esto determina el número mínimo de hojas necesarias para dividir un nodo interno.

2., Aumentando la velocidad del modelo

el hiperparámetro n_jobs le dice al motor cuántos procesadores se le permite usar. Si tiene un valor de uno, solo puede usar un procesador. Un valor de «-1» significa que no hay límite.

el hiperparámetro random_state hace replicable la salida del modelo. El modelo siempre producirá los mismos resultados cuando tenga un valor definido de random_state y si se le han dado los mismos hiperparámetros y los mismos datos de entrenamiento.

Por último, está el oob_score (también llamado muestreo oob), que es un método aleatorio de validación cruzada de bosques., En este muestreo, alrededor de un tercio de los datos no se utiliza para entrenar el modelo y se puede utilizar para evaluar su rendimiento. Estas muestras se denominan muestras sin bolsa. Es muy similar al método de validación cruzada leave-one-out, pero casi ninguna carga computacional adicional va junto con él.

ventajas y desventajas del algoritmo Random Forest

una de las mayores ventajas de random forest es su versatilidad. Se puede usar tanto para tareas de regresión como de clasificación, y también es fácil ver la importancia relativa que asigna a las características de entrada.,

Random forest es también un algoritmo muy útil porque los hiperparámetros predeterminados que utiliza a menudo producen un buen resultado de predicción. Entender los hiperparámetros es bastante sencillo, y tampoco hay muchos de ellos.

uno de los mayores problemas en el aprendizaje automático es el sobreajuste, pero la mayoría de las veces esto no sucederá gracias al clasificador de bosque Aleatorio. Si hay suficientes árboles en el bosque, el clasificador no se adaptará demasiado al modelo.,

la principal limitación de random forest es que un gran número de árboles puede hacer que el algoritmo sea demasiado lento e ineficaz para las predicciones en tiempo real. En general, estos algoritmos son rápidos para entrenar, pero bastante lentos para crear predicciones una vez que se entrenan. Una predicción más precisa requiere más árboles, lo que resulta en un modelo más lento. En la mayoría de las aplicaciones del mundo real, el algoritmo random forest es lo suficientemente rápido, pero ciertamente puede haber situaciones en las que el rendimiento en tiempo de ejecución es importante y se preferirían otros enfoques.,

y, por supuesto, random forest es una herramienta de modelado predictivo y no una herramienta Descriptiva, lo que significa que si está buscando una descripción de las relaciones en sus datos, otros enfoques serían mejores.

casos de uso de Random Forest

el algoritmo random forest se utiliza en muchos campos diferentes, como la banca, el mercado de valores, la medicina y el comercio electrónico.

en finanzas, por ejemplo, se utiliza para detectar clientes más propensos a pagar su deuda a tiempo, o utilizar los servicios de un banco con más frecuencia. En este dominio también se utiliza para detectar estafadores para estafar al banco., En el comercio, el algoritmo se puede utilizar para determinar el comportamiento futuro de una acción.

en el dominio de la salud se utiliza para identificar la combinación correcta de componentes en la medicina y para analizar la historia clínica de un paciente para identificar enfermedades.

Random forest se utiliza en el comercio electrónico para determinar si a un cliente realmente le gustará el producto o no.

resumen

Random forest es un gran algoritmo para entrenar al principio del proceso de desarrollo del modelo, para ver cómo funciona. Su simplicidad hace que construir un bosque Aleatorio «malo» sea una propuesta difícil.,

el algoritmo también es una gran opción para cualquiera que necesite desarrollar un modelo rápidamente. Además de eso, proporciona un indicador bastante bueno de la importancia que asigna a sus características.

Los bosques aleatorios también son muy difíciles de superar en cuanto al rendimiento. Por supuesto, probablemente siempre se puede encontrar un modelo que puede funcionar mejor, como una red neuronal, por ejemplo, pero estos suelen tardar más tiempo en desarrollarse, aunque pueden manejar una gran cantidad de diferentes tipos de características, como binario, categórico y numérico.,

En general, random forest es una herramienta (en su mayoría) rápida, simple y flexible, pero no sin algunas limitaciones.

Niklas Donges es un emprendedor, escritor técnico y experto en Ia. Trabajó en un equipo de inteligencia artificial de SAP durante 1,5 años, después de lo cual fundó Markov Solutions. La empresa con sede en Berlín se especializa en inteligencia artificial, aprendizaje automático y aprendizaje profundo, ofreciendo soluciones de software y programas de consultoría personalizados impulsados por IA a varias empresas.

Leave A Comment