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

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

ma

A 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 отрицательно.