предсказать

Предскажите ответы с помощью дерева регрессии

Синтаксис

Yfit = predict(Mdl,X)
Yfit = predict(Mdl,X,Name,Value)
[Yfit,node] = 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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 лошадиных сил, и это весит 3 000 фунтов.

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

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

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

Введенный в R2011a