предсказать

Класс: 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^сумка=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^сумка(c|x)=1t=1TαtI(tS)t=1TαtP^t(c|x)I(tS).

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

    y^сумка=аргументmax cC{P^сумка(c|x)}.