predictorImportance

Оценки важности предиктора

Синтаксис

imp = predictorImportance(ens)
[imp,ma] = predictorImportance(ens)

Описание

imp = predictorImportance(ens) вычисляет оценки важности предиктора для ens путем подведения итогов этих оценок по всем слабым ученикам в ансамбле. imp имеет один элемент для каждого входного предиктора в данных, используемых, чтобы обучить этот ансамбль. Высокое значение указывает, что этот предиктор важен для ens.

[imp,ma] = predictorImportance(ens) возвращает P-by-P матрица с прогнозирующими мерами ассоциации для предикторов P, когда ученики в ens содержат суррогатные разделения. См. Определения.

Входные параметры

ens

Ансамбль классификации, созданный fitcensemble, или методом compact.

Выходные аргументы

imp

Вектор - строка с тем же числом элементов как количество предикторов (столбцы) в ens .X. Записи являются оценками важности предиктора с 0, представляющим наименьшую важность.

ma

P-by-P матрица прогнозирующих мер ассоциации для предикторов P. ma(I,J) элемента является прогнозирующей мерой ассоциации, усредненной по суррогатным разделениям на предикторе J, для которого предиктора I является оптимальным предиктором разделения. predictorImportance составляет в среднем эту прогнозирующую меру ассоциации по всем деревьям в ансамбле.

Примеры

развернуть все

Оцените важность предиктора для всех переменных в ирисовых данных Фишера.

Загрузите ирисовый набор данных Фишера.

load fisheriris

Обучите ансамбль классификации, использующий AdaBoostM2. Задайте пни как слабых учеников.

t = templateTree('MaxNumSplits',1);
ens = fitcensemble(meas,species,'Method','AdaBoostM2','Learners',t);

Оцените важность предиктора для всех переменных прогноза.

imp = predictorImportance(ens)
imp = 1×4

    0.0004    0.0016    0.1266    0.0324

Первые два предиктора не очень важны в ансамбле.

Оцените важность предиктора для всех переменных в ирисовых данных Фишера для ансамбля, где деревья содержат суррогатные разделения.

Загрузите ирисовый набор данных Фишера.

load fisheriris

Вырастите ансамбль 100 деревьев классификации с помощью AdaBoostM2. Задайте пни как слабых учеников, и также идентифицируйте суррогатные разделения.

t = templateTree('MaxNumSplits',1,'Surrogate','on');
ens = fitcensemble(meas,species,'Method','AdaBoostM2','Learners',t);

Оцените важность предиктора и прогнозирующие меры ассоциации для всех переменных прогноза.

[imp,ma] = predictorImportance(ens)
imp = 1×4

    0.0674    0.0417    0.1582    0.1537

ma = 4×4

    1.0000         0         0         0
    0.0115    1.0000    0.0022    0.0054
    0.3186    0.2137    1.0000    0.6391
    0.0392    0.0073    0.1137    1.0000

Первые два предиктора показывают намного больше важности, чем анализ в Оценочной Важности Предиктора.

Больше о

развернуть все

Алгоритмы

ma(i,j) элемента является прогнозирующей мерой ассоциации, усредненной по суррогатным разделениям на предикторе j, для которого предиктора i является оптимальным предиктором разделения. Это среднее значение вычисляется путем подведения итогов положительных значений прогнозирующей меры ассоциации по оптимальным разделениям на предикторе i и суррогатные разделения на предикторе j и деления на общее количество оптимальных разделений на предикторе i, включая разделения, для которых прогнозирующая мера ассоциации между предикторами i и j отрицательны.