5 votos

¿Cómo puede una característica más interrumpir la matriz de confusión de un bosque al azar?

Estoy tratando de predecir una variable binaria con ambos bosques aleatorios y de regresión logística. Tengo desequilibrada clases (aprox 1.5% de Y=1), por lo que yo estoy llamando class_weight = "auto" en ambos RF y LR.

Tengo aprox 600 características y 262,871 líneas.

Aquí está el código :

model_rf = RandomForestClassifier(n_estimators = 500,
                                  max_depth = None,
                                  bootstrap = True,
                                  criterion = "entropy",
                                  class_weight = "auto",
                                  n_jobs=-1)

# -- Features importance
forest = model_rf.fit(X_train[:,:580], Y_train)
imp_list = list(zip(db.columns[1:], np.transpose(forest.feature_importances_)))
imp_list.sort(key=operator.itemgetter(1), reverse=True)
imp_rf = pd.DataFrame(imp_list, columns=['features', 'imp'])
imp_rf[:20].plot(kind='barh', x='features', color='darkgreen')

feature importance before adding new features

Matriz de confusión no son tan malos para ambos RF y LR

CM without adding

Después de la adición de 8 características

Característica impotances tienden a decir que el 8 de nuevas características son buena (mucho mejor que el resto). enter image description here

La matriz de confusión se vuelve muy malo

enter image description here

La adición de 1 simulado característica

Mi primer pensamiento fue "el modelo es el sobreajuste'. Pero antes de intentar ajustar el RF, me quitaron todos los 8 de nuevas variables y sustituido con 1 simulado aleatoria función de correlación con el resto del conjunto de datos.

  • La variable por supuesto, no era 'importante' en el RF
  • (¿QUÉ?) la matriz de confusión era malo de nuevo.

¿Cómo puede 1 variable simple calificar como no importante en 500 árboles pueden alterar todo el modelo ?

enter image description here

Y de nuevo, el logit fue estable :

enter image description here

¿Ustedes qué piensan ? Gracias por los préstamos de sus neuronas.

1voto

James Puntos 1294

La exactitud de la clasificación no es una buena métrica cuando su conjunto de datos está desequilibrado. Usted debe usar AUC.

Las técnicas de importancia de las características por defecto en los bosques aleatorios se basan en la precisión de la clasificación. Debe utilizar importances de características basadas en AUC : Una medida de importancia variable de permutación basada en AUC para bosques aleatorios . Si su uso R puede encontrar su método implementado en el paquete party .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X