В этом примере показано, как создавать и сравнивать различные деревья регрессии с помощью приложения Regression Learner и экспортировать обученные модели в рабочую область для прогнозирования новых данных.
Можно обучить деревья регрессии предсказывать ответы на заданные входные данные. Чтобы предсказать отклик регрессионного дерева, следуйте за деревом от корневого (начального) узла до узла листа. На каждом узле определите ветвь, которой следует следовать, используя правило, связанное с этим узлом. Продолжайте до тех пор, пока не прибудете к конечному узлу. Прогнозируемый отклик - это значение, связанное с этим конечным узлом.
Деревья Toolbox™ статистики и машинного обучения являются двоичными. Каждый шаг в прогнозе включает в себя проверку значения одной прогнозирующей переменной. Например, вот простое дерево регрессии:

Это дерево предсказывает ответ на основе двух предикторов, x1 и x2. Чтобы предсказать, начните с верхнего узла. В каждом узле проверьте значения предикторов, чтобы решить, за какой ветвью следует. Когда ветви достигают конечного узла, ответ устанавливается на значение, соответствующее этому узлу.
В этом примере используется carbig набор данных. Этот набор данных содержит характеристики различных моделей автомобилей, выпускавшихся с 1970 по 1982 год, в том числе:
Ускорение
Количество баллонов
Рабочий объем двигателя
Мощность двигателя (лошадиная сила)
Модельный год
Вес
Страна происхождения
Мили на галлон (MPG)
Обучение деревьев регрессии для прогнозирования экономии топлива в милях на галлон модели автомобиля, учитывая другие переменные в качестве входных данных.
В MATLAB ® загрузите carbig и создайте таблицу, содержащую различные переменные:
load carbig cartable = table(Acceleration, Cylinders, Displacement,... Horsepower, Model_Year, Weight, Origin, MPG);
На вкладке «Приложения» в группе «Машинное обучение» и «Глубокое обучение» выберите «Обучающийся регрессии».
На вкладке Обучающийся регрессии в разделе Файл выберите Создать сеанс > Из рабочей области.
В разделе «Переменная набора данных» диалогового окна «Новая сессия из рабочей области» выберите cartable из списка таблиц и матриц в рабочей области.
Обратите внимание, что приложение имеет предварительно выбранные переменные ответа и предиктора. MPG выбирается в качестве ответа, а все остальные переменные - в качестве предикторов. В этом примере не изменяйте выбранные значения.

Чтобы принять схему проверки по умолчанию и продолжить, щелкните Начать сеанс (Start Session). Параметр проверки по умолчанию - перекрестная проверка для защиты от переоборудования.
Обучающийся регрессии создает график отклика с номером записи на оси X.
Используйте график ответа, чтобы выяснить, какие переменные полезны для прогнозирования ответа. Чтобы визуализировать связь между различными предикторами и ответом, выберите различные переменные в списке X под осью X.
Наблюдайте, какие переменные наиболее четко коррелируют с ответом. Displacement, Horsepower, и Weight все они оказывают четко видимое влияние на ответ и все демонстрируют негативную связь с ответом.

Выберите переменную Origin под осью X. Автоматически отображается рамочный график. Рамочный график показывает типичные значения отклика и любые возможные отклонения. Рамочный график полезен, когда печать маркеров приводит к перекрытию многих точек. Чтобы показать рамочный график, если переменная на оси X имеет несколько уникальных значений, в группе «Стиль» выберите «Рамочный график».

Создайте набор деревьев регрессии. На вкладке Обучающийся регрессии (Regression Learner) в разделе Тип модели (Model Type) щелкните Все деревья (All Trees).
![]()
Затем щелкните Поезд (Train).![]()
Совет
При наличии Toolbox™ параллельных вычислений можно одновременно обучить все модели (все деревья), нажав кнопку Использовать параллельные (Use Parallel) в разделе Обучение (Training), прежде чем нажать кнопку Обучить (Train). После нажатия кнопки Обучить открывается диалоговое окно Открытие параллельного пула, которое остается открытым, пока приложение открывает параллельный пул работников. В течение этого времени взаимодействие с программным обеспечением невозможно. После открытия пула приложение одновременно обучает модели.
Обучающийся регрессии создает и обучает три дерева регрессии: тонкое дерево, среднее дерево и грубое дерево.
Три модели появятся на панели Модели (Models). Проверьте RMSE (проверка) (среднеквадратическая ошибка проверки) моделей. Лучший балл выделен в рамке.
Тонкое дерево и среднее дерево имеют схожие RMSE, в то время как грубое дерево менее точно.
Обучающийся регрессии строит график как истинной реакции на обучение, так и прогнозируемой реакции выбранной модели.

Примечание
Если вы используете проверку, в результатах есть некоторая случайность, поэтому ваш показатель проверки модели может отличаться от показанных результатов.
Выберите модель на панели Модели (Models), чтобы просмотреть результаты этой модели. Под осью X выберите Horsepower и изучить график ответа. Теперь строятся графики как истинных, так и прогнозируемых ответов. Показать ошибки прогнозирования, построенные в виде вертикальных линий между прогнозируемыми и истинными ответами, установив флажок Ошибки (Errors).
Дополнительные сведения о выбранной модели см. на панели Сводка текущей модели (Current Model Summary). Проверьте и сравните дополнительные характеристики модели, такие как R-квадрат (коэффициент определения), MAE (средняя абсолютная ошибка) и скорость прогнозирования. Дополнительные сведения см. в разделе Просмотр и сравнение статистики моделей. На панели Сводка по текущей модели (Current Model Summary) также можно найти сведения о выбранном типе модели, такие как опции, используемые для обучения модели.
Постройте график прогнозируемого ответа в сравнении с истинным ответом. На вкладке Обучающийся регрессии (Regression Learner) в разделе Графики (Plots) щелкните Прогнозируемые и фактические (Predicted vs. Actual) и выберите Данные проверки (Validation Data). Используйте этот график, чтобы понять, насколько хорошо регрессионная модель делает прогнозы для различных значений отклика.

Идеальная регрессионная модель предсказала отклик, равный истинному отклику, поэтому все точки лежат на диагональной прямой. Вертикальное расстояние от линии до любой точки является ошибкой прогноза для этой точки. Хорошая модель имеет небольшие ошибки, поэтому прогнозы разбросаны вблизи линии. Обычно хорошая модель имеет точки, разбросанные примерно симметрично вокруг диагональной линии. Если на графике можно увидеть какие-либо четкие узоры, вероятно, модель можно улучшить.
Выберите другие модели на панели Модели (Models) и сравните прогнозируемые и фактические графики.
В галерее Тип модели (Model Type) снова выберите Все деревья (All Trees). Чтобы попытаться улучшить модель, попробуйте включить в нее различные элементы. Узнайте, можно ли улучшить модель, удалив элементы с низкой прогнозируемой мощностью. На вкладке Обучающийся регрессии в разделе Элементы щелкните Выбор элемента.

В диалоговом окне «Выбор элемента» снимите флажки «Ускорение» и «Цилиндры», чтобы исключить их из предикторов.
Щелкните Обучить (
Train), чтобы обучить новые деревья регрессии с помощью новых настроек предиктора.
Просмотрите новые модели на панели Модели (Models). Эти модели являются теми же деревьями регрессии, что и раньше, но обучены с использованием только пяти из семи предикторов. В приложении отображается количество используемых предикторов. Чтобы проверить, какие предикторы используются, щелкните модель на панели Модели (Models) и просмотрите флажки в диалоговом окне Выбор элемента (Feature Selection).
Модели с двумя удаленными функциями работают сопоставимо с моделями, используя все предикторы. Модели предсказывают не лучше, используя все предикторы, по сравнению с использованием только подмножества предикторов. Если сбор данных является дорогостоящим или сложным, вы можете предпочесть модель, которая работает удовлетворительно без некоторых предикторов.
Обучить три набора параметров дерева регрессии, используя только Horsepower в качестве предиктора. Измените выбор в диалоговом окне Выбор элемента (Feature Selection) и нажмите кнопку Поезд (Train).
Использование только мощности двигателя в качестве предиктора приводит к моделям с более низкой точностью. Тем не менее, модели работают хорошо, учитывая, что они используют только один предиктор. В этом простом одномерном предикторном пространстве грубое дерево теперь работает так же, как и средние и тонкие деревья.
Выберите лучшую модель на панели Модели (Models) и просмотрите график остатков. На вкладке «Обучающийся регрессии» в разделе «Графики» щелкните «Остатки» и выберите «Данные проверки». График остатков отображает разницу между предсказанными и истинными откликами. Для отображения остатков в виде графика линий в разделе «Стиль» выберите «Линии».
В разделе Ось X выберите переменную для построения графика по оси X. Выберите истинный ответ, прогнозируемый ответ, число записей или один из предикторов.

Обычно хорошая модель имеет остатки, разбросанные приблизительно симметрично вокруг 0. Если в остатках можно увидеть какие-либо четкие узоры, вероятно, модель можно улучшить.
Чтобы узнать о настройках модели, выберите лучшую модель на панели Модели (Models) и просмотрите дополнительные настройки. Неоптимизируемые опции модели в галерее Тип модели (Model Type) являются предварительно заданными начальными точками, и можно изменить дополнительные настройки. На вкладке Обучающийся регрессии (Regression Learner) в разделе Тип модели (Model Type) щелкните Дополнительно (Advanced). Сравните различные модели дерева регрессии на панели Модели (Models) и просмотрите различия в диалоговом окне Дополнительные опции дерева регрессии (Advanced Regression Tree Options). Параметр «Минимальный размер листа» управляет размером листьев дерева и, таким образом, размером и глубиной дерева регрессии.
Чтобы попытаться улучшить модель, измените значение параметра Минимальный размер листа на 8, а затем обучите новую модель, щелкнув Тренировать (Train).
Просмотрите настройки выбранной обучаемой модели на панели Сводка текущей модели (Current Model Summary) или в диалоговом окне Дополнительные опции дерева регрессии (Advanced Regression Tree Options).
Дополнительные сведения о параметрах дерева регрессии см. в разделе Деревья регрессии.
Экспорт выбранной модели в рабочую область. На вкладке Обучающийся регрессии в разделе Экспорт щелкните Экспорт модели. В диалоговом окне Экспорт модели (Export Model) нажмите кнопку ОК, чтобы принять имя переменной по умолчанию. trainedModel.
Сведения о результатах см. в окне команд.
Используйте экспортированную модель для прогнозирования новых данных. Например, чтобы сделать прогнозы для cartable в рабочей области введите:
yfit = trainedModel.predictFcn(cartable)
yfit содержит прогнозируемый отклик для каждой точки данных.Если вы хотите автоматизировать обучение той же модели с новыми данными или научиться программно обучать регрессионные модели, вы можете создать код из приложения. Чтобы создать код для лучшей обученной модели, на вкладке Обучающийся регрессии (Regression Learner) в разделе Экспорт (Export) щелкните Создать функцию (Generate Function).
Приложение генерирует код из модели и отображает файл в редакторе MATLAB. Дополнительные сведения см. в разделе Создание кода MATLAB для обучения модели новым данным.
Совет
Используйте тот же рабочий процесс, что и в этом примере, для оценки и сравнения других типов регрессионных моделей, которые можно обучить в модуле «Обучающийся регрессии».
Обучите все доступные неоптимизуемые наборы параметров регрессионной модели:
Справа от раздела Тип модели (Model Type) щелкните стрелку, чтобы развернуть список регрессионных моделей.
Нажмите кнопку Все,
а затем нажмите кнопку Поезд.

Сведения о других типах регрессионных моделей см. в разделе Обучающие регрессионные модели в приложении Regression Learner App.