Предскажите ответы с помощью дерева регрессии
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.