predict

Класс: 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-by- NTrees указывает, какие деревья использовать для создания предсказаний для каждого наблюдения, где Nobs количество наблюдений. По умолчанию все деревья используются для всех наблюдений.

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

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

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

Алгоритмы

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

    y^bag=1t=1TαtI(tS)t=1Tαty^tI(tS).

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

    • S - это набор индексов выбранных деревьев, которые составляют предсказание (см. 'Trees' и 'UseInstanceForTree'). I(tS) равен 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^bag(c|x)=1t=1TαtI(tS)t=1TαtP^t(c|x)I(tS).

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

    y^bag=argmaxcC{P^bag(c|x)}.