Después de desarrollar mi modelo predictivo utilizando Random Forest, obtengo las siguientes métricas:
Train Accuracy :: 0.9764634601043997
Test Accuracy :: 0.7933284397683713
Confusion matrix [[28292 1474]
[ 6128 889]]
Estos son los resultados de este código:
training_features, test_features, training_target, test_target, = train_test_split(df.drop(['bad_loans'], axis=1),
df['target'],
test_size = .3,
random_state=12)
clf = RandomForestClassifier()
trained_model = clf.fit(training_features, training_target)
trained_model.fit(training_features, training_target)
predictions = trained_model.predict(test_features)
Train Accuracy: accuracy_score(training_target, trained_model.predict(training_features))
Test Accuracy: accuracy_score(test_target, predictions)
Confusion Matrix: confusion_matrix(test_target, predictions)
Sin embargo, me estoy confundiendo un poco al interpretar y explicar estos valores.
¿Qué me dicen exactamente estas 3 medidas sobre mi modelo?
¡Gracias!
python
predictive-modeling
accuracy
confusion-matrix
classifier
Pedro Alves
fuente
fuente
Respuestas:
Definiciones
Sobreajuste
Lo que haría de sus resultados es que su modelo está sobreajustado . Se nota por la gran diferencia de precisión entre la prueba y la precisión del tren. El sobreajuste significa que aprendió reglas específicas para el conjunto de trenes, esas reglas no se generalizan mucho más allá del conjunto de trenes.
Su matriz de confusión nos dice cuánto está sobreajustando, porque su clase más grande representa más del 90% de la población. Suponiendo que el conjunto de prueba y entrenamiento tenga una distribución similar, cualquier modelo útil tendría que obtener una precisión superior al 90%: un modelo 0R simple lo haría. Su modelo puntúa un poco menos del 80% en el conjunto de pruebas.
Mira en profundidad la matriz de confusión
Si observara la matriz de confusión relativamente (en porcentajes) se vería así:
Puede deducir del total en la primera fila que su modelo predice la Clase 1 el 81% del tiempo, mientras que la ocurrencia real de la Clase 1 es del 94%. Por lo tanto, su modelo está subestimando esta clase. Podría ser el caso de que aprendió reglas específicas (complejas) en el conjunto de trenes, que funcionan en su contra en el conjunto de pruebas.
También vale la pena señalar que, aunque los falsos negativos de la Clase 1 (17%, punto 2, fila 2, columna 1) están perjudicando más su rendimiento general, los falsos negativos de la Clase 2 (4%, punto, fila 1 columna 2) en realidad son más comunes con respecto a la población total de las clases respectivas (94%, 6%). Esto significa que su modelo es malo para predecir la Clase 1 , pero aún peor para predecir la Clase 2 . La precisión solo para la Clase 1 es 77/99, mientras que la precisión para la Clase 2 es 2/6.
fuente