es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Clasificador de Bosque Aleatorio: Predicciones poco realistas después de cambiar el orden de las columnas de los datos de inferencia según el orden de las columnas de los datos de entrenamiento.

Tengo un modelo de clasificación RandomForest entrenado con datos (30000 x 164) (entrenamiento-70%, prueba-30%).

RandomForestClassifier(n_estimators= 200, max_features= 'sqrt', random_state=40)
   Resultados de prueba= Sensibilidad - 75,   Especificidad - 99

Debido a que tengo clases desequilibradas (1s-10%, 0s-90%), tuve que obtener las probabilidades y extraer las clases basándome en un valor de umbral de probabilidad (0.25 en mi caso) en lugar del valor predeterminado 0.5.

Resultados de prueba con un umbral de probabilidad de 0.25 = Sensibilidad - 91,   Especificidad - 96

Ahora, tengo un nuevo conjunto de datos de inferencia (168×164) para el cual quiero predecir las clases utilizando el modelo RF guardado (mlflow). Cuando preparo estos datos y me aseguro de que el orden de las columnas en los datos de inferencia coincida con el de X_train, el modelo (con umbral de 0.25) predice un 97%-99.5% como clase ‘1’ cuando espero que solo el 5-10% de las observaciones sean de clase ‘1’ y el resto sean ‘0’ (las predicciones predeterminadas o para el umbral de 0.5: el modelo predice más del 50% de los datos como clase ‘1’, lo cual también es terrible).

Verifiqué esto con varios conjuntos de datos de inferencia y veo el mismo problema.

Cuando no coincido el orden de las columnas entre los datos de entrenamiento y de inferencia, los resultados son más razonables en comparación con el caso anterior.

Sé que el orden de las columnas debería coincidir, pero no estoy seguro de qué está causando el problema. ¿Alguien puede ayudarme con esto?

Por favor, avísenme si necesitan más información para entender el problema.

Gracias de antemano.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Problema con las predicciones del modelo de clasificación RandomForest en un nuevo conjunto de datos de inferencia

    Según la información proporcionada, el modelo de clasificación RandomForest se entrena con datos que tienen una distribución desequilibrada de clases, siendo el 10% del valor ‘1’ y el 90% del valor ‘0’. Los resultados de prueba del modelo con un umbral de probabilidad de 0.25 muestran una mejora en la sensibilidad (91%) y una ligera reducción en la especificidad (96%) en comparación con el umbral predeterminado (sensibilidad – 75%, especificidad – 99%).

    Sin embargo, cuando se utiliza el mismo modelo con un umbral de probabilidad de 0.25 para predecir clases en un nuevo conjunto de datos de inferencia, que tiene el mismo orden de columnas que los datos del entrenamiento, el modelo predice un porcentaje más alto de observaciones como clase ‘1’ (97%-99.5%) en lugar del esperado 5-10%. Este comportamiento se mantiene en múltiples conjuntos de datos de inferencia.

    Curiosamente, cuando el orden de las columnas de los datos de inferencia no coincide con el de los datos de entrenamiento, las predicciones del modelo son más razonables que en el escenario anterior.

    Se ha observado que el orden de las columnas debe ser el mismo tanto para los datos de entrenamiento como para los de inferencia. Sin embargo, no está claro qué está causando este problema.

    Es necesario realizar una investigación adicional para identificar la causa raíz de este comportamiento.

Comments are closed.