Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

predictorImportance

Las estimaciones de importancia predictora

Sintaxis

imp = predictorImportance(tree)

Descripción

imp = predictorImportance(tree) calcula las estimaciones de importancia predictora para sumando los cambios en el riesgo debido a divisiones en cada predictor y dividiendo la suma por el número de nodos de bifurcación.tree

Argumentos de entrada

tree

Un árbol de clasificación creado por, o por elfitctree compact Método.

Argumentos de salida

imp

Un vector de fila con el mismo número de elementos que el número de predictores (columnas) en.tree.X Las entradas son las estimaciones de importancia predictora, con la representación de la menor importancia posible.0

Ejemplos

expandir todo

Cargue el conjunto de datos de iris de Fisher.

load fisheriris

Cultivar un árbol de clasificación.

Mdl = fitctree(meas,species);

Calcule las estimaciones de importancia del predictor para todas las variables predictoras.

imp = predictorImportance(Mdl)
imp = 1×4

         0         0    0.0907    0.0682

Los dos primeros elementos son cero.imp Por lo tanto, los dos primeros predictores no entran en los cálculos para clasificar los iris.Mdl

Las estimaciones de importancia predictora no dependen del orden de los predictores si utiliza divisiones sustitutas, pero sí dependen del orden si no utiliza divisiones sustitutas.

Permute el orden de las columnas de datos en el ejemplo anterior, crezca otro árbol de clasificación y, a continuación, calcule las estimaciones de importancia del predictor.

measPerm  = meas(:,[4 1 3 2]); MdlPerm = fitctree(measPerm,species); impPerm = predictorImportance(MdlPerm)
impPerm = 1×4

    0.1515         0    0.0074         0

Las estimaciones de la importancia predictora no son una permutación de.imp

Cargue el conjunto de datos de iris de Fisher.

load fisheriris

Cultivar un árbol de clasificación. Especifique el uso de divisiones sustitutas.

Mdl = fitctree(meas,species,'Surrogate','on');

Calcule las estimaciones de importancia del predictor para todas las variables predictoras.

imp = predictorImportance(Mdl)
imp = 1×4

    0.0791    0.0374    0.1530    0.1529

Todos los predictores tienen algo de importancia. Los dos primeros predictores son menos importantes que los dos últimos.

Permute el orden de las columnas de datos en el ejemplo anterior, crezca otro árbol de clasificación especificando el uso de divisiones sustitutas y, a continuación, calcule las estimaciones de importancia del predictor.

measPerm  = meas(:,[4 1 3 2]); MdlPerm = fitctree(measPerm,species,'Surrogate','on'); impPerm = predictorImportance(MdlPerm)
impPerm = 1×4

    0.1529    0.0791    0.1530    0.0374

Las estimaciones de importancia predictora son una permutación de.imp

Cargue el conjunto de datos.census1994 Considere un modelo que predice la categoría salarial de una persona dada su edad, clase obrera, nivel educativo, estado marcial, raza, sexo, ganancia y pérdida de capital, y número de horas de trabajo por semana.

load census1994 X = adultdata(:,{'age','workClass','education_num','marital_status','race',...     'sex','capital_gain','capital_loss','hours_per_week','salary'});

Mostrar el número de categorías representadas en las variables categóricas utilizando.summary

summary(X)
Variables:      age: 32561x1 double          Values:              Min        17               Median     37               Max        90        workClass: 32561x1 categorical          Values:              Federal-gov              960                Local-gov               2093                Never-worked               7                Private                22696                Self-emp-inc            1116                Self-emp-not-inc        2541                State-gov               1298                Without-pay               14                NumMissing              1836         education_num: 32561x1 double          Values:              Min              1                    Median          10                    Max             16             marital_status: 32561x1 categorical          Values:              Divorced                       4443                   Married-AF-spouse                23                   Married-civ-spouse            14976                   Married-spouse-absent           418                   Never-married                 10683                   Separated                      1025                   Widowed                         993            race: 32561x1 categorical          Values:              Amer-Indian-Eskimo      311              Asian-Pac-Islander     1039              Black                  3124              Other                   271              White                 27816       sex: 32561x1 categorical          Values:              Female    10771             Male      21790      capital_gain: 32561x1 double          Values:              Min               0                  Median            0                  Max           99999           capital_loss: 32561x1 double          Values:              Min               0                  Median            0                  Max            4356           hours_per_week: 32561x1 double          Values:              Min               1                    Median           40                    Max              99             salary: 32561x1 categorical          Values:              <=50K     24720               >50K       7841   

Debido a que hay pocas categorías representadas en las variables categóricas en comparación con los niveles en las variables continuas, el algoritmo de división de predictor estándar de CART prefiere dividir un predictor continuo sobre las variables categóricas.

Entrenar un árbol de clasificación utilizando todo el conjunto de datos. Para cultivar árboles no sesgados, especifique el uso de la prueba de curvatura para dividir los predictores. Dado que faltan observaciones en los datos, especifique el uso de divisiones sustitutas.

Mdl = fitctree(X,'salary','PredictorSelection','curvature',...     'Surrogate','on');

Calcule los valores de importancia del predictor sumando los cambios en el riesgo debido a las divisiones en cada predictor y dividiendo la suma por el número de nodos de bifurcación. Compare las estimaciones utilizando un gráfico de barras.

imp = predictorImportance(Mdl);  figure; bar(imp); title('Predictor Importance Estimates'); ylabel('Estimates'); xlabel('Predictors'); h = gca; h.XTickLabel = Mdl.PredictorNames; h.XTickLabelRotation = 45; h.TickLabelInterpreter = 'none';

En este caso, es el predictor más importante, seguido de.capital_gaineducation_num

Más acerca de

expandir todo