exponenta event banner

предсказать

Класс: TreeBagger

Прогнозирование ответов с использованием совокупности упакованных в мешки деревьев принятия решений

Синтаксис

Yfit = predict(B,X)
Yfit = predict(B,X,Name,Value)
[Yfit,stdevs] = predict(___)
[Yfit,scores] = predict(___)
[Yfit,scores,stdevs] = predict(___)

Описание

Yfit = predict(B,X) возвращает вектор прогнозируемых откликов для данных предиктора в таблице или матрице X, на основе ансамбля фасованных деревьев принятия решений B. Yfit является массивом ячеек символьных векторов для классификации и числовым массивом для регрессии. По умолчанию predict принимает демократический (невзвешенный) средний голос от всех деревьев в ансамбле.

B является обученным TreeBagger объект модели, то есть модель, возвращенная TreeBagger.

X - таблица или матрица данных предиктора, используемых для генерации ответов. Строки представляют наблюдения, а столбцы - переменные.

  • Если X - числовая матрица:

    • Переменные, составляющие столбцы X должен иметь тот же порядок, что и обучаемые переменные предиктора B.

    • Если вы тренировались B использование таблицы (например, Tbl), то X может быть числовой матрицей, если Tbl содержит все числовые переменные предиктора. Чтобы обработать числовые предикторы в Tbl в качестве категориального во время обучения, определить категориальные предикторы, используя CategoricalPredictors аргумент пары имя-значение TreeBagger. Если Tbl содержит разнородные переменные предиктора (например, числовые и категориальные типы данных) и X является числовой матрицей, то predict выдает ошибку.

  • Если X является таблицей:

    • predict не поддерживает многозначные переменные или массивы ячеек, отличные от массивов ячеек символьных векторов.

    • Если вы тренировались B использование таблицы (например, Tbl), затем все переменные предиктора в X должны иметь те же имена переменных и иметь те же типы данных, что и прошедшие обучение B (хранится в B.PredictorNames). Однако порядок столбцов X не обязательно соответствовать порядку столбцов Tbl. Tbl и X может содержать дополнительные переменные (переменные ответа, веса наблюдений и т.д.), но predict игнорирует их.

    • Если вы тренировались B используя числовую матрицу, затем имена предикторов в B.PredictorNames и соответствующие имена переменных предиктора в X должно быть то же самое. Чтобы указать имена предикторов во время обучения, см. PredictorNames аргумент пары имя-значение TreeBagger. Все переменные предиктора в X должны быть числовыми векторами. X может содержать дополнительные переменные (переменные ответа, веса наблюдений и т.д.), но predict игнорирует их.

Yfit = predict(B,X,Name,Value) указывает дополнительные параметры, использующие один или несколько аргументов пары имя-значение:

  • 'Trees' - Массив индексов дерева для использования при вычислении откликов. Значение по умолчанию: 'all'.

  • 'TreeWeights' - Массив NTrees веса для взвешивания голосов из указанных деревьев, где NTrees - количество деревьев в ансамбле.

  • 'UseInstanceForTree' - Логическая матрица размера Nobsоколо-NTrees указание деревьев, которые следует использовать для прогнозирования каждого наблюдения, где Nobs - количество наблюдений. По умолчанию все деревья используются для всех наблюдений.

Для регрессии [Yfit,stdevs] = predict(___) также возвращает стандартные отклонения вычисленных откликов по ансамблю выращенных деревьев, используя любую из комбинаций входных аргументов в предыдущих синтаксисах.

Для классификации, [Yfit,scores] = predict(___) также возвращает баллы для всех классов. scores является матрицей с одной строкой на наблюдение и одним столбцом на класс. Для каждого наблюдения и каждого класса оценка, генерируемая каждым деревом, является вероятностью наблюдения, происходящего из класса, вычисленной как доля наблюдений класса в древовидном листе. predict усредняет эти оценки по всем деревьям в ансамбле.

[Yfit,scores,stdevs] = predict(___) также возвращает стандартные отклонения вычисленных баллов для классификации. stdevs - матрица с одной строкой на наблюдение и одним столбцом на класс, со стандартными отклонениями, взятыми за ансамбль выращенных деревьев.

Алгоритмы

  • Для проблем регрессии прогнозируемый отклик для наблюдения представляет собой средневзвешенное прогнозирование только с использованием выбранных деревьев. То есть

    y^bag=1∑t=1TαtI (t∈S) ∑t=1Tαty^tI (t∈S).

    • y ^ t - предсказание от дерева t в ансамбле.

    • S - набор индексов выбранных деревьев, составляющих прогноз (см. 'Trees' и 'UseInstanceForTree'). I (t∈S) равно 1, если t в наборе S, и 0 в противном случае.

    • αt - вес дерева t (см. 'TreeWeights').

  • Для проблем классификации прогнозируемым классом для наблюдения является класс, который дает наибольшее средневзвешенное значение апостериорных вероятностей класса (то есть классификационные оценки), вычисленное только с использованием выбранных деревьев. То есть

    1. Для каждого класса cC и каждого дерева t = 1,...,T, predict вычисляет P ^ t (c 'x), которая является оцененной апостериорной вероятностью класса c, заданного для наблюдения x с использованием дерева t.C, является набором всех отдельных классов в данных обучения. Дополнительные сведения о задних вероятностях дерева классификации см. в разделеfitctree и predict.

    2. predict вычисляет средневзвешенное апостериорных вероятностей класса по выбранным деревьям.

      P _ мешок (c 'x) =1∑t=1TαtI (t∈S) ∑t=1TαtP^t (c' x) I (t∈S).

    3. Прогнозируемый класс - это класс, который дает наибольшее средневзвешенное значение.

    y^bag=argmaxc∈C{P^bag (c 'x)}.