predict

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

Описание

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

Чтобы интегрировать предсказание модели регрессионного дерева в Simulink®можно использовать блок RegressionTree Predict в библиотеке Statistics and Machine Learning Toolbox™ или MATLAB® Функциональный блок с predict функция. Для примеров смотрите Предсказать Ответы Используя RegressionTree Предсказать Блок и Предсказать Метки Классов Используя Блок MATLAB function.

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

  • Если вы используете библиотечный блок Statistics and Machine Learning Toolbox, можно использовать Fixed-Point Tool (Fixed-Point Designer) для преобразования модели с плавающей точкой в фиксированную точку.

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

  • Если вы используете блок MATLAB Function, можно использовать функции MATLAB для предварительной обработки или постобработки до или после предсказаний в том же блоке MATLAB Function.

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

.
Введенный в R2011a