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 не должен соответствовать порядку следования столбцов Tbltbl и X может содержать дополнительные переменные (переменные отклика, веса наблюдения, и т.д.), но predict игнорирует их.

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

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

Аргументы name-value

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

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

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

Если вы задаете 'all'то predict работает со всеми поддеревьями (т.е. целая последовательность сокращения). Эта спецификация эквивалентна использованию 0:max(Mdl.PruneList).

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

Вызвать Subtrees, свойства PruneList и PruneAlpha из Mdl mustBeNonempty. Другими словами, вырастите 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 лошадиных сил, и это весит 3 000 фунтов.

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 Предсказывают Блок и Предсказывают, что Класс Маркирует Using MATLAB Function Block.

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

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

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

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

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

Введенный в R2011a