Предскажите ответы с помощью дерева регрессии
Yfit = predict(Mdl,X)
Yfit = predict(Mdl,X,Name,Value)
[Yfit,node]
= predict(___)
предсказывает значения ответа с дополнительными опциями, заданными одним или несколькими аргументами пары 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
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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
должны быть непустыми. Другими словами, вырастите 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).
Указания и ограничения по применению:
Используйте saveCompactModel
, loadCompactModel
и codegen
, чтобы сгенерировать код для функции predict
. Сохраните обученную модель при помощи saveCompactModel
. Задайте функцию точки входа, которая загружает сохраненную модель при помощи loadCompactModel
и вызывает функцию predict
. Затем используйте codegen
, чтобы сгенерировать код для функции точки входа.
Эта таблица содержит примечания об аргументах predict
. Аргументы, не включенные в эту таблицу, полностью поддержаны.
Аргумент | Примечания и ограничения |
---|---|
Mdl | Для указаний и ограничений по применению объекта модели смотрите
Генерацию кода объекта |
X |
|
Аргументы в виде пар имя-значение |
Имена в аргументах пары "имя-значение" должны быть константами времени компиляции. Например, чтобы позволить пользовательские уровни сокращения в сгенерированном коде, включайте |
Для получения дополнительной информации смотрите Введение в Генерацию кода.
CompactRegressionTree
| RegressionTree
| compact
| fitrtree
| loss
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.