La importancia de la característica de permutación es una técnica de inspección del modelo que se puede utilizar para cualquier equipadoestimador cuando los datos son tabulares. Esto es especialmente útil para no lineales u opacos. estimadores. La importancia de la característica de permutación se define como la disminución en la puntuación de un modelo cuando un único valor de característica se mezcla aleatoriamente 1. Este procedimiento rompe la relación entre la característica y el objetivo, por lo que la caída en la puntuación del modelo es indicativa de cuánto el modelo depende de la función. Esta técnica se beneficia de ser independiente del modelo y se puede calcular muchas veces con diferentes permutaciones de la característica.

los permutation_importance La función calcula la importancia de la característica de estimadores para un conjunto de datos determinado. los n_repeats El parámetro establece el número de veces que una característica se baraja aleatoriamente y devuelve una muestra de las características importantes.

Consideremos el siguiente modelo de regresión entrenado:

>>>from sklearn.datasets import load_diabetes
>>>from sklearn.model_selection import train_test_split
>>>from sklearn.linear_model import Ridge
>>> diabetes = load_diabetes()>>> X_train, X_val, y_train, y_val = train_test_split(...     diabetes.data, diabetes.target, random_state=0)...>>> model = Ridge(alpha=1e-2).fit(X_train, y_train)>>> model.score(X_val, y_val)0.356...

Su rendimiento de validación, medido a través del (R ^ 2 ) puntuación, es significativamente mayor que el nivel de probabilidad. Esto hace posible utilizar el permutation_importance función para sondear qué características son más predictivas:

>>>from sklearn.inspection import permutation_importance
>>> r = permutation_importance(model, X_val, y_val,...                            n_repeats=30,...                            random_state=0)...>>>for i in r.importances_mean.argsort()[::-1]:...if r.importances_mean[i]-2* r.importances_std[i]>0:...print(f"diabetes.feature_names[i]:<8"...f"r.importances_mean[i]:.3f"...f" +/- r.importances_std[i]:.3f")...
s5      0.204+/-0.050
bmi     0.176+/-0.048
bp      0.088+/-0.033
sex     0.056+/-0.023

Tenga en cuenta que los valores de importancia para las características principales representan una gran fracción de la puntuación de referencia de 0,356.

La importancia de la permutación se puede calcular en el conjunto de entrenamiento o en un conjunto de validación o prueba retenido. El uso de un conjunto retenido hace posible resaltar qué características contribuyen más al poder de generalización del modelo inspeccionado. Las funciones que son importantes en el conjunto de entrenamiento pero no en el conjunto retenido pueden hacer que el modelo se sobreajuste.

Advertencia

Características que se consideran de poca importancia para un mal modelo (puntuación baja de validación cruzada) podría ser muy importante para un buen modelo. Por lo tanto, siempre es importante evaluar el poder predictivo de un modelo utilizando un conjunto restringido (o mejor con validación cruzada) antes de calcular la importancia. La importancia de la permutación no refleja el valor predictivo intrínseco de una característica en sí misma, sino la importancia de esta característica para un modelo en particular.

4.2.1. Esquema del algoritmo de importancia de la permutación

  • Entradas: modelo predictivo ajustado (metro), conjunto de datos tabulares (entrenamiento o validación) (D).
  • Calcule la puntuación de referencia (s) del modelo (metro) en datos (D) (por ejemplo, la precisión de un clasificador o la (R ^ 2 ) para un regresor).
  • Para cada característica (j ) (columna de (D)):

    • Por cada repetición (k ) en (1, …, K ):

      • Columna aleatoriamente aleatoria (j ) del conjunto de datos (D) para generar una versión corrupta de los datos denominados ( tilde D _ k, j ).
      • Calcule la puntuación (s_ k, j ) de modelo (metro) sobre datos corruptos ( tilde D _ k, j ).
    • Calcular importancia (i_j ) para la característica (f_j ) definido como:

      [i_j = s – frac1K sum_k=1^K s_k,j]

4.2.2. Relación con la importancia basada en impurezas en los árboles.

Los modelos basados ​​en árboles proporcionan una medida alternativa de características importantes basadas en la disminución media de impurezas (MDI). La impureza se cuantifica mediante el criterio de división de los árboles de decisión (Gini, Entropía o Error cuadrático medio). Sin embargo, este método puede dar una gran importancia a las características que pueden no ser predictivas de datos invisibles cuando el modelo está sobreajustado. La importancia de la característica basada en permutación, por otro lado, evita este problema, ya que se puede calcular sobre datos invisibles.

Además, la importancia de las características basadas en impurezas para los árboles es fuertemente sesgado y favorecer características de alta cardinalidad (características típicamente numéricas) sobre características de cardinalidad baja como características binarias o variables categóricas con una pequeña cantidad de categorías posibles.

La importancia de las características basadas en permutación no exhibe tal sesgo. Además, la importancia de la característica de permutación puede calcularse como métrica de rendimiento en las predicciones del modelo y puede usarse para analizar cualquier clase de modelo (no solo modelos basados ​​en árboles).

El siguiente ejemplo destaca las limitaciones de la importancia de las características basadas en impurezas en contraste con la importancia de las características basadas en permutación: Importancia de la permutación frente a importancia de la característica del bosque aleatorio (MDI).

4.2.3. Valores engañosos sobre características fuertemente correlacionadas

Cuando dos características están correlacionadas y una de las características está permutada, el modelo aún tendrá acceso a la característica a través de su característica correlacionada. Esto resultará en un valor de menor importancia para ambas características, donde podrían Realmente se Importante.

Una forma de manejar esto es agrupar las características que están correlacionadas y solo mantienen una característica de cada grupo. Esta estrategia se explora en el siguiente ejemplo: Importancia de la permutación con características multicolineales o correlacionadas.

Ejemplos:

  • Importancia de la permutación frente a importancia de la característica del bosque aleatorio (MDI)
  • Importancia de la permutación con características multicolineales o correlacionadas

Referencias:

1

L. Breiman, “Random Forests”, Machine Learning, 45 (1), 5-32, 2001. https://doi.org/10.1023/A:1010933404324