Red de conocimiento de recetas - Recetas gastronómicas - Algoritmo de clasificación: bosque aleatorio

Algoritmo de clasificación: bosque aleatorio

La última vez escribí sobre el algoritmo del árbol de decisión. Los árboles de decisión pueden resolver problemas de clasificación y el algoritmo CART puede resolver problemas de regresión. Los bosques aleatorios también son muy similares a los árboles de decisión. árboles de decisión. Por lo tanto, puede resolver tanto problemas de clasificación como de regresión. Como puede verse por el nombre, el bosque aleatorio es un bosque construido de forma aleatoria. Este bosque se compone de muchos árboles de decisión no relacionados. De hecho, los bosques aleatorios pertenecen a una rama muy importante del aprendizaje automático llamada aprendizaje conjunto. El aprendizaje conjunto resuelve un único problema de predicción mediante la construcción de una combinación de múltiples modelos. Funciona generando múltiples clasificadores/modelos, cada uno de los cuales aprende y hace predicciones de forma independiente. En última instancia, estas predicciones se combinan en una única predicción que trasciende cualquier predicción de clasificación única.

Por lo tanto, en teoría, el efecto del bosque aleatorio suele ser mejor que el de un solo árbol de decisión, porque el resultado del bosque aleatorio está determinado por los resultados de múltiples árboles de decisión que votan para determinar el resultado final. En pocas palabras, cada árbol de decisión en el bosque aleatorio tiene su propio resultado. El bosque aleatorio calcula los resultados de cada árbol de decisión y selecciona el resultado con mayor número de votos como resultado final. Creo que hay un proverbio chino que expresa muy bien el funcionamiento de los bosques aleatorios, y es que "tres títeres son mejores que un Zhuge Liang".

Tengo un lote de 100 datos divididos por color, longitud, dulzura, lugar de cultivo y categoría de fruta, por lo que quiero predecir qué frutas tienen un determinado color, longitud, dulzura y crecimiento. ubicación.

El muestreo aquí se refiere al muestreo con reemplazo en este lote de frutas. Por ejemplo, si quiero generar 3 árboles de decisión para predecir el tipo de fruta, entonces cada árbol necesita muestrear y generar 50 datos. Después de extraer datos de cada árbol, se deben volver a colocar en el siguiente árbol y los datos extraídos aún se deben extraer de estos 100 datos. Este método se denomina técnica de remuestreo bootstrap.

Cada árbol generará un árbol utilizando las muestras extraídas. Vale la pena señalar que dado que se utiliza el algoritmo CART, genera un árbol binario y puede manejar datos continuos. Si la dimensión de característica de cada muestra es M, como los datos mencionados anteriormente, la dimensión de característica de la muestra es 5, especifique una constante mlt;lt;M y seleccione aleatoriamente m subconjuntos de características de las 5 características (esto es muy importante, esto es (también el origen del nombre Random de Random Forest, por lo que esto garantiza que los árboles de decisión generados sean diferentes), cada vez que el árbol se divide, se seleccionará la mejor de las m características y cada árbol crecerá tanto como sea posible. sin poda.

En este punto, se genera un frondoso árbol de decisiones.

Según los resultados de los 3 árboles de decisión, si los datos son continuos, finalmente debe preguntar a la media para obtener el resultado; si los datos están subtipificados, debe preguntar a la moda para obtener el resultado; resultado.

1) Como se mencionó anteriormente, el algoritmo de bosque aleatorio puede resolver problemas de tipo clasificación y regresión, y tiene un rendimiento de estimación bastante bueno en ambos campos.

2) Random Forest tiene capacidades interesantes en el manejo de conjuntos de datos de alta dimensión y se considera un buen método de reducción de dimensionalidad, ya que puede procesar miles de variables de entrada e identificar las más importantes. Además, el modelo también puede generar la importancia de las variables, lo cual es una función muy conveniente.

3) El bosque aleatorio es un método muy eficaz para estimar los datos faltantes. Los bosques aleatorios pueden mantener mejor la precisión incluso cuando falta una gran cantidad de datos

4) Cuando la clasificación está desequilibrada, los bosques aleatorios pueden proporcionar una forma eficaz de equilibrar los errores en el conjunto de datos

5) Las características anteriores de este modelo se pueden extender a conjuntos de datos sin etiquetar para guiar la agrupación no supervisada, datos dinámicos y detección de anomalías

6) El algoritmo de bosque aleatorio contiene un par de entradas Los datos se someten a un proceso de automuestreo repetido, es decir, muestreo bootstrap.

Por lo tanto, aproximadamente un tercio del conjunto de datos se utilizará para probar en lugar de entrenar el modelo; estas son las llamadas muestras fuera de la bolsa, y el error estimado a partir de estas muestras se llama error fuera de la bolsa. Resulta que este método listo para usar tiene la misma precisión que el método de estimación que utiliza un conjunto de prueba del mismo tamaño que el conjunto de entrenamiento, por lo que no necesitamos repetir este proceso en el bosque aleatorio. Por lo tanto, no es necesario crear un conjunto de pruebas independiente en un bosque aleatorio.

1) Los bosques aleatorios no son tan buenos para resolver problemas de regresión como lo son para la clasificación porque no proporcionan resultados continuos. Al realizar una regresión, Random Forest no puede predecir fuera del rango de datos en el conjunto de entrenamiento, lo que puede provocar un sobreajuste al modelar algunos datos que todavía tienen cierto ruido.

2) Para muchos modeladores estadísticos, los bosques aleatorios son como una caja negra: tienes poco control sobre el funcionamiento interno del modelo y solo puedes experimentar con diferentes parámetros y semillas aleatorias.