exponenta event banner

предсказать

Прогнозирование ответов с использованием дерева регрессии

Описание

Yfit = predict(Mdl,X) возвращает вектор прогнозируемых откликов для данных предиктора в таблице или матрице X, на основе полного или компактного дерева регрессии Mdl.

Yfit = predict(Mdl,X,Name,Value) предсказывает значения ответа с дополнительными опциями, заданными одним или несколькими Name,Value аргументы пары. Например, можно указать обрезку Mdl на определенный уровень перед предсказанием ответов.

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

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

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

Обученное дерево классификации, указанное как RegressionTree или CompactRegressionTree объект модели. То есть Mdl является обученной моделью классификации, возвращенной fitrtree или compact.

Данные предиктора, подлежащие классификации, указываются как числовая матрица или таблица.

Каждая строка X соответствует одному наблюдению, и каждый столбец соответствует одной переменной.

  • Для числовой матрицы:

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

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

  • Для таблицы:

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

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

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

Типы данных: table | double | single

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Уровень отсечения, заданный как разделенная запятыми пара, состоящая из 'Subtrees' и вектор неотрицательных целых чисел в порядке возрастания или 'all'.

Если задан вектор, то все элементы должны быть по крайней мере 0 и не более max(Mdl.PruneList). 0 указывает полное, неотрезанное дерево и max(Mdl.PruneList) указывает полностью отсеченное дерево (т.е. только корневой узел).

При указании 'all', то predict оперирует всеми поддеревьями (т.е. всей последовательностью отсечения). Эта спецификация эквивалентна использованию 0:max(Mdl.PruneList).

predict чернослив Mdl к каждому уровню, указанному в Subtrees, а затем оценивает соответствующие выходные аргументы. Размер Subtrees определяет размер некоторых выходных аргументов.

Призвать Subtrees, свойства PruneList и PruneAlpha из Mdl должен быть непустым. Другими словами, расти Mdl путем установки 'Prune','on'или путем обрезки Mdl использование prune.

Пример: 'Subtrees','all'

Типы данных: single | double | char | string

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

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

Прогнозируемые значения ответа, возвращаемые в виде числового вектора столбца с тем же количеством строк, что и X. Каждая строка Yfit дает прогнозируемый ответ на соответствующую строку X, на основе Mdl.

Номера узлов для прогнозов, заданные как числовой вектор. Каждая запись соответствует прогнозируемому конечному узлу в Mdl для соответствующей строки X.

Примеры

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

Загрузить carsmall набор данных. Рассмотреть Displacement, Horsepower, и Weight в качестве предикторов ответа MPG.

load carsmall
X = [Displacement Horsepower Weight];

Создайте дерево регрессии, используя весь набор данных.

Mdl = fitrtree(X,MPG);

Предсказать MPG для автомобиля с двигателем объемом 200 кубических дюймов, мощностью 150 лошадиных сил и весом 3000 фунтов.

X0 = [200 150 3000];
MPG0 = predict(Mdl,X0)
MPG0 = 21.9375

Регрессионное дерево предсказывает эффективность автомобиля 21,94 мпг.

Альтернативная функциональность

Блок симулятора

Чтобы интегрировать прогнозирование модели регрессионного дерева в Simulink ®, можно использовать блок Прогнозирование регрессионного дерева в библиотеке Toolbox™ статистики и машинного обучения или функциональный блок MATLAB ® с помощью predict функция. Примеры см. в разделах Прогнозирование ответов с помощью блока прогнозирования дерева RegingTree и Прогнозирование меток классов с помощью функционального блока MATLAB.

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

  • При использовании блока библиотеки инструментов «Статистика и машинное обучение» для преобразования модели с плавающей запятой в фиксированную можно использовать инструмент «Фиксированная точка» (Fixed-Point Designer).

  • Поддержка массивов переменного размера должна быть включена для функционального блока MATLAB с predict функция.

  • При использовании функционального блока MATLAB можно использовать функции MATLAB для предварительной обработки или последующей обработки до или после прогнозирования в том же функциональном блоке MATLAB.

Расширенные возможности

.
Представлен в R2011a