Comprensión y aplicación de métodos basados en árboles para la selección y modelado de predictores
Este vídeo se está procesando actualmente. Inténtalo de nuevo en unos minutos.
(ver en Mis Videos)
Vea cómo:
- Modelo que utiliza particiones, bosques bootstrap y árboles potenciados
- Comprender los pros y contras de los árboles de decisión
- Ventajas: descubre relaciones no lineales, obtén resultados fáciles de entender y analiza una gran cantidad de factores.
- Contras: maneja una respuesta a la vez, forma declaraciones del tipo "si-entonces" y no fórmulas matemáticas, la alta variabilidad puede generar diferencias importantes en un modelo para datos similares
- Construya un árbol de clasificación de partición JMP que utilice la división para definir la relación entre los predictores y las respuestas categóricas
- Definir la cantidad de muestras, el tamaño de los árboles (modelos) y la frecuencia de muestreo para construir modelos de Bootstrap Forest utilizando una técnica de bosque aleatorio
- Defina la cantidad de capas, divisiones por árbol, tasa de aprendizaje y tasas de muestreo para crear modelos de árboles potenciados que combinen modelos más pequeños en un modelo final.
- Interpretar resultados y ajustar modelos
- Especificar y ejecutar informes de matriz de ganancias para identificar clasificaciones erróneas para respuestas categóricas e interpretar resultados utilizando la matriz de confusión y la matriz de decisión.
Nota: Preguntas y respuestas incluidas en el momento 17:00 y en el momento 38:00
Modelado predictivo y aprendizaje automáticoRe: Comprensión y aplicación de métodos basados en árboles para la detección y el modelado de predictoresGracias a ambos por el análisis tan detallado, necesito algo de tiempo para trabajar en todas sus propuestas y responderé más tarde. Sé que hay muchos desafíos en mi conjunto de datos, uno adicional es que está desequilibrado, es una mezcla de muchos datos históricos y algunos experimentos agregados. Y los desarrolladores queremos sacar información de todos los datos y no tirar nada. Estos experimentos pueden parecer valores atípicos, pero no lo son; son puntos únicos con un resultado significativo. Como mi conjunto de datos se presentará en la cumbre de descubrimiento de Europa, podremos discutirlo más a fondo cuando esté en línea. BR
Re: Comprensión y aplicación de métodos basados en árboles para la detección y el modelado de predictores@Peter_Hersh : No estoy seguro de lo que insinúas con tu frase " Los modelos basados en árboles son muy susceptibles a los valores atípicos" , ya que los métodos basados en árboles son bastante resistentes a los valores atípicos, o al menos los valores atípicos tienen un efecto insignificante. Ya hay muchos ejemplos y publicaciones sobre este aspecto, y es también por eso que este tipo de modelos se utilizan con frecuencia y son famosos, debido a su "simplicidad" y su bajo paso de preprocesamiento/limpieza (no se necesita mucho trabajo en los valores atípicos, y manejo de valores faltantes, sin suposiciones sobre distribuciones, etc...). Aquí se puede ver una comparación del impacto de los valores atípicos en los modelos de regresión y el bosque aleatorio (y los beneficios de diferentes técnicas para lidiar con los valores atípicos aplicados en ambos algoritmos (spoiler: que no muestran un gran efecto en el algoritmo de bosque aleatorio)): Cómo hacer que sus modelos de aprendizaje automático sean resistentes a los valores atípicos - KDnuggets
@Peter_Hersh @Georg Sin embargo, hay otras cosas a tener en cuenta a la hora de elegir modelos basados en árboles, a continuación se muestran algunas:
- Sobreajuste eso puede ocurrir principalmente para el árbol de decisión y el árbol impulsado (si no se realiza una validación adecuada). Los bosques aleatorios tienden a ser menos propensos a sobreajustarse debido a la proceso de arranque: hay un entrenamiento independiente de árboles individuales, cada uno de los cuales se ajusta a una muestra de arranque de los datos de entrenamiento. Con el proceso de arranque, algunas muestras no se "utilizan" en la creación de árboles individuales (llamadas muestras "fuera de bolsa" (OOB)), pero se pueden utilizar para estimar errores en el modelo. (y por lo tanto sirve como "validación", estimación del error en datos que el modelo no ve).
- Correlación/multicolinealidad :T Los diferentes modelos basados en árboles tratan de manera diferente la multicolinealidad o la correlación entre variables. Si tiene una fuerte correlación/multicolinealidad en su conjunto de datos, puede esperar algunas diferencias: Al observar el gráfico de importancia de las características del árbol de decisión (o árbol potenciado por gradiente), puede ver que solo se seleccionan las "mejores" características (las que tienen los mejores atributos divididos) y las demás (correlacionadas con las primeras) se seleccionan. no seleccionado y tiene una importancia de característica de 0 (o cercana a 0). Esto es normal, ya que un árbol de decisión utiliza todos los predictores e intenta determinar las mejores divisiones en cada nivel, por lo que se eliminarán las características "peores" y correlacionadas.Por lo tanto, recargar el árbol de decisión/impulsado puede conducir a diferentes modelos en presencia de correlación/multicolinealidad (ya que es posible que no siempre seleccione las mismas características/variables cada vez). Al observar el gráfico de importancia de las características de Random Forest, puede ver que todas las características tienen una puntuación, incluso las correlacionadas. Esto se debe al embolsado de características, una selección aleatoria de características realizada para cada árbol de decisión en el bosque, dando a cada característica la misma "oportunidad" de ser seleccionada en árboles individuales. Entonces, recargar este modelo debería darte modelos muy similares.
- Ruido (o compensación entre sesgo y varianza): B Los árboles suspendidos pueden ser más precisos que los bosques aleatorios. En el árbol impulsado, cada árbol individual se entrena de forma iterativa para corregir los errores del árbol anterior, por lo que este algoritmo es capaz de capturar patrones complejos en los datos. Sin embargo, si los datos son ruidosos, los árboles potenciados pueden sobreajustarse y comenzar a modelar el ruido. Entonces, dependiendo del tamaño de su conjunto de datos y del ruido en sus datos, puede elegir entre Boosted Tree y Random Forest: los primeros son muy precisos pero no resistentes al ruido (bajo sesgo, alta varianza como Decision Tree), mientras que en Los RF de comparación son menos precisos pero son más resistentes al ruido (el sesgo es el mismo que el de cada árbol individual en el bosque, menor variación que el árbol de decisión o el árbol impulsado debido al proceso de embolsado).
Y también debe considerar (además de los puntos anteriores) su objetivo (¿predictivo/explicativo?), la influencia de las métricas utilizadas para evaluar el desempeño de su modelo en este conjunto de datos, el tamaño y las dimensiones del conjunto de datos (número de variables vs. número de observaciones), representatividad de sus datos, etc...
Si está utilizando un conjunto de datos pequeño (con posible ruido), Random Forest puede ser una alternativa más segura y sólida que Boosted Tree/Decision Tree.
Además de lo que @Peter_Hersh sugiere que si tiene diferentes rendimientos en las columnas de pliegues/validación de su árbol impulsado, eso es una indicación de que un subconjunto de sus datos puede tener valores inusuales, por lo que tratar de observar las distancias (Jackknife/Mahalanobis) en la plataforma multivariada podría permitirle Le permitirá detectar e identificar una observación habitual en este subconjunto.
Perdón por la respuesta larga, espero que sea útil.
Re: Comprensión y aplicación de métodos basados en árboles para la detección y el modelado de predictores@Georg Gran pregunta.@Victor_G tiene un par de buenas soluciones con el promedio de modelos o el modelado de conjuntos de k-pliegues.Parece que sus datos tienen mucho ruido y el modelo cambia con ejecuciones adicionales.Podría darse el caso de que el modelo no sea muy útil en este punto sin algunos factores o ejecuciones adicionales que ayuden a comprender mejor la variabilidad de los datos.
Una forma de probar esto es crear múltiples columnas de validación para la validación de retención.Si esos modelos que utilizan diferentes columnas de validación son dramáticamente diferentes entre sí, eso indica que un subconjunto aleatorio de sus datos no es representativo de los datos en su conjunto.Eso significa que tendrá problemas para crear un modelo predictivo preciso sin realizar algunos cambios.
Los modelos basados en árboles son muy susceptibles a los valores atípicos, por lo que podría ser una buena idea comprobarlos antes de ejecutar el modelo.
Espero que esto sea útil, déjanos saber cómo van las cosas.
Re: Comprensión y aplicación de métodos basados en árboles para la detección y el modelado de predictores@Georg Podría tener un par de ideas sobre su pregunta:
- Probar la validación cruzada de K-folds (con la plataforma "Model Screening" disponible en Analizar -> Modelado predictivo) para evaluar la solidez de su modelo. Obtendrá resultados para cada uno de sus pliegues, por lo que es más fácil evaluar si su modelo es sólido, sin importar qué ejecuciones estén en el conjunto de entrenamiento o validación.
Puede guardar fórmulas para cada modelo (entrenadas en los pliegues K-1, validadas en 1 pliegue) y después podría ser posible hacer un conjunto o un promedio de estos modelos individuales creados en diferentes pliegues, pero es necesario conservar algunos datos. completamente, ya que aquí promediará diferentes modelos creados en sus datos y conjuntos de validación, por lo que para tener una evaluación justa del modelo, se debe crear un conjunto de prueba independiente y los datos de prueba "eliminados" por completo para evitar cualquier información/ fuga de datos o sobreajuste.
- Si desea tener pruebas reproducibles para su modelo (o "arreglar" su modelo final), puede arreglar la semilla aleatoria escribiendo cualquier número: de esta manera, recargar un modelo con un script y una semilla aleatoria fija le permitirá siempre tener los mismos resultados.
- Finalmente, también podría intentar crear diferentes árboles impulsados (u otros modelos basados en árboles), optimizando los hiperparámetros o haciendo algunas diferencias en sus valores (profundidad, división de tamaño mínimo, etc.) para optimizarlos. modelo(s) o un poco de diversidad en sus modelos individuales, y luego combínelos ensamblándolos o promediando.
Espero que estas pocas ideas puedan ayudarte.
Re: Comprensión y aplicación de métodos basados en árboles para la detección y el modelado de predictores@Peter_Hersh ¡Gracias por publicar este gran video! En mi caso, tengo datos variables y el uso de árboles de decisión conduce a diferentes modelos para diferentes ejecuciones, como usted dijo, los árboles de decisión tienen esta "desventaja". En su caso, utilizó una columna de validación, lo que significa que la elección de la capacitación y las pruebas ya no es aleatoria. El uso de una "parte de reserva" en mi caso es otra fuente de "ruido" de una ejecución a otra.¿Existe alguna idea o estrategia sobre cómo conseguir un modelo más estable o cómo definir/arreglar el modelo final? Estoy usando Boosted Tree porque funcionó mejor al comparar modelos.¡Gracias de antemano!