Предскажите ответы с помощью дерева регрессии
предсказывает значения ответа с дополнительными опциями, заданными одним или несколькими Yfit
= predict(Mdl
,X
,Name,Value
)Name,Value
парные аргументы. Например, можно задать, чтобы сократить Mdl
к конкретному уровню прежде, чем предсказать ответы.
Mdl
— Обученное дерево регрессииRegressionTree
объект модели | CompactRegressionTree
объект моделиОбученное дерево классификации, заданное как RegressionTree
или CompactRegressionTree
объект модели. Таким образом, Mdl
обученная модель классификации, возвращенная fitrtree
или compact
.
X
— Данные о предикторе, которые будут классифицированыДанные о предикторе, которые будут классифицированы, заданные как числовая матрица или таблица.
Каждая строка 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'
Сокращение уровня, заданного как разделенная запятой пара, состоящая из 'Subtrees'
и вектор неотрицательных целых чисел в порядке возрастания или 'all'
.
Если вы задаете вектор, то всеми элементами должен быть, по крайней мере, 0
и в большей части max(Mdl.PruneList)
. 0 указывает на полное, несокращенное дерево и
max(Mdl.PruneList)
указывает на полностью сокращенное дерево (т.е. только корневой узел).
Если вы задаете '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
Загрузите 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 мили на галлон.
Эта функция полностью поддерживает "высокие" массивы. Для получения дополнительной информации смотрите Длинные массивы (MATLAB).
Указания и ограничения по применению:
Можно сгенерировать код C/C++ для обоих predict
и update
при помощи кодера configurer. Или, сгенерируйте код только для predict
при помощи saveLearnerForCoder
, loadLearnerForCoder
, и codegen
.
Генерация кода для predict
и update
— Создайте кодер configurer при помощи learnerCoderConfigurer
и затем сгенерируйте код при помощи generateCode
. Затем можно обновить параметры модели в сгенерированном коде, не имея необходимость регенерировать код.
Генерация кода для predict
— Сохраните обученную модель при помощи saveLearnerForCoder
. Задайте функцию точки входа, которая загружает сохраненную модель при помощи loadLearnerForCoder
и вызывает predict
функция. Затем используйте codegen
сгенерировать код для функции точки входа.
Эта таблица содержит примечания об аргументах predict
. Аргументы, не включенные в эту таблицу, полностью поддержаны.
Аргумент | Примечания и ограничения |
---|---|
Mdl | Для указаний и ограничений по применению объекта модели смотрите
Генерацию кода |
X |
|
Аргументы в виде пар имя-значение |
Имена в аргументах пары "имя-значение" должны быть константами времени компиляции. Например, чтобы позволить пользовательские уровни сокращения в сгенерированном коде, включайте |
Subtrees | Этот аргумент пары "имя-значение" не поддержан в кодере configurer рабочий процесс. |
Для получения дополнительной информации смотрите Введение в Генерацию кода.
CompactRegressionTree
| RegressionTree
| compact
| fitrtree
| loss
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.