Обучите деревья регрессии Используя приложение Regression Learner

В этом примере показано, как создать и сравнить различные деревья регрессии с помощью приложения Regression Learner, и экспорт обучил модели к рабочей области делать предсказания для новых данных.

Можно обучить деревья регрессии предсказывать ответы на данные входные данные. Чтобы предсказать ответ дерева регрессии, следуйте за деревом от корня (начало) узел вниз к вершине. В каждом узле решите который ветвь следовать за использованием правила, сопоставленного к тому узлу. Продолжите, пока вы не прибудете в вершину. Предсказанный ответ является значением, сопоставленным к той вершине.

Деревья Statistics and Machine Learning Toolbox™ являются двоичным файлом. Каждый шаг в предсказании включает проверку значения одного переменного предиктора. Например, вот простое дерево регрессии:

Visualization of a regression tree with two predictors

Это дерево предсказывает ответ на основе двух предикторов, x1 и x2. Чтобы предсказать, запустите в главном узле. В каждом узле проверяйте значения предикторов, чтобы решить который ветвь следовать. Когда ветви достигают вершины, ответ установлен в значение, соответствующее тому узлу.

Этот пример использует carbig набор данных. Этот набор данных содержит характеристики различных моделей автомобилей, произведенных от 1 970 до 1982, включая:

  • Ускорение

  • Количество цилиндров

  • Объем двигателя

  • Мощность двигателя (Лошадиная сила)

  • Модельный год

  • Вес

  • Страна происхождения

  • Мили на галлон (MPG)

Обучите деревья регрессии предсказывать экономию топлива в милях на галлон модели автомобиля, учитывая другие переменные как входные параметры.

  1. В MATLAB®, загрузите carbig набор данных и составляет таблицу, содержащую различные переменные:

    load carbig
    cartable = table(Acceleration,Cylinders,Displacement, ...
    Horsepower,Model_Year,Weight,Origin,MPG);
  2. На вкладке Apps, в группе Machine Learning and Deep Learning, нажимают Regression Learner.

  3. На вкладке Regression Learner, в разделе File, выбирают New Session > From Workspace.

  4. Под Data Set Variable в диалоговом окне New Session from Workspace выберите cartable из списка таблиц и матриц в вашей рабочей области.

    Заметьте, что приложение предварительно выобрало переменные отклика и переменные предикторы. MPG выбран в качестве ответа и всех других переменных как предикторы. В данном примере не изменяйте выборы.

    New Session from Workspace dialog box

  5. Чтобы принять схему валидации по умолчанию и продолжиться, нажмите Start Session. Опция валидации по умолчанию является перекрестной проверкой, чтобы защитить от сверхподбора кривой.

    Regression Learner создает график ответа с номером записи на x - ось.

  6. Используйте график отклика, чтобы заняться расследованиями, какие переменные полезны для предсказания ответа. Чтобы визуализировать отношение между различными предикторами и ответом, выберите различные переменные в списке X под X-axis.

    Наблюдайте, какие переменные коррелируются наиболее ясно с ответом. Displacement, Horsepower, и Weight все оказывают явно видимое влияние на ответ, и все показывают отрицательную связь с ответом.

    Response plot of car data, with miles per gallon on the vertical axis and horsepower on the horizontal axis

  7. Выберите переменную Origin под X-axis. Диаграмма автоматически отображена. Диаграмма показывает типичные значения ответа и любых возможных выбросов. Диаграмма полезна при графическом выводе результатов маркеров во многом наложении точек. Чтобы показать диаграмму, когда переменная на x - ось имеет немного уникальных значений под Style, выбирают Box plot.

    Response plot of car data, with a box plot for each country in the Origin predictor

  8. Создайте выбор деревьев регрессии. На вкладке Regression Learner, в разделе Model Type, нажимают All Trees .

    Затем нажмите Train .

    Совет

    Если у вас есть Parallel Computing Toolbox™, можно обучить все модели (All Trees) одновременно путем нажатия кнопки Use Parallel в разделе Training перед нажатием Train. После того, как вы нажимаете Train, диалоговое окно Opening Parallel Pool открывается и остается открытым, в то время как приложение открывает параллельный пул рабочих. В это время вы не можете взаимодействовать с программным обеспечением. После того, как пул открывается, приложение обучает модели одновременно.

    Regression Learner создает и обучает три дерева регрессии: Fine Tree, Medium Tree и Coarse Tree.

    Эти три модели появляются в панели Models. Проверяйте RMSE (Validation) (среднеквадратическая ошибка валидации) моделей. Лучший счет подсвечен в поле.

    Fine Tree и Medium Tree имеют подобную RMS, в то время как Coarse Tree менее точен.

    Regression Learner строит и истинный учебный ответ и предсказанный ответ первой модели (модель 1.1).

    Response plot of car data modeled by a regression tree

    Примечание

    Если вы используете валидацию, результаты включают некоторую случайность. Так, ваш счет проверки допустимости модели может отличаться от показанных результатов.

  9. Выберите модель в панели Models, чтобы просмотреть результаты той модели. Например, выберите модель Medium Tree (модель 1.2). На вкладке Regression Learner, в разделе Plots, кликают по стреле, чтобы открыть галерею, и затем нажать Response в группе Validation Results. Под X-axis выберите Horsepower и исследуйте график отклика. Оба истинные и предсказанные ответы теперь построены. Покажите ошибки предсказания, чертившие как вертикальные линии между предсказанными и истинными ответами, путем установки флажка Errors.

  10. Смотрите больше деталей о в настоящее время выбранной модели в панели Current Model Summary. Проверяйте и сравните дополнительные характеристики модели, такие как R-squared (коэффициент детерминации), MAE (средняя абсолютная погрешность), и скорость предсказания. Узнать больше, вид на море и Сравнить Статистику Модели. В панели Current Model Summary также можно найти детали о в настоящее время выбранном типе модели, такие как опции используемыми для обучения модель.

  11. Постройте предсказанный ответ по сравнению с истинным ответом. На вкладке Regression Learner, в разделе Plots, кликают по стреле, чтобы открыть галерею, и затем нажать Predicted vs. Actual (Validation) в группе Validation Results. Используйте этот график изучить, как хорошо модель регрессии делает предсказания для различных значений отклика.

    Plot of the predicted response versus the true response for a regression tree

    Совершенная модель регрессии предсказала ответ, равный истинному ответу, таким образом, все точки лежат на диагональной линии. Вертикальное расстояние от линии до любой точки является ошибкой предсказания для той точки. Хорошая модель имеет небольшие ошибки, таким образом, предсказания рассеиваются около линии. Обычно хорошая модель имеет точки, рассеянные примерно симметрично вокруг диагональной линии. Если вы видите какие-либо ясные шаблоны в графике, вероятно, что можно улучшить модель.

  12. Выберите другие модели в панели Models, откройте предсказанный по сравнению с фактическим графиком для каждой из моделей, и затем сравните результаты. Перестройте размещение графиков лучше сравнить графики. Кликните по стреле Действий Документа, расположенной справа вкладок графика модели. Выберите Tile All опция и задает 1 3 размещение. Нажмите кнопку опций графика Hide в правых верхних из графиков сделать больше комнаты для графиков.

    Plots of the predicted response versus the true response for three regression tree models

    Чтобы возвратиться к первоначальному макету, можно нажать кнопку Layout в разделе Plots и выбрать Single model (Default).

  13. В галерее Model Type выберите All Trees снова. Чтобы попытаться улучшить модель, попробуйте включая различные функции в модели. Смотрите, можно ли улучшить модель путем удаления функций с низкой предсказательной силой. На вкладке Regression Learner, в разделе Features, нажимают Feature Selection .

    В диалоговом окне Feature Selection снимите флажки для Acceleration и Cylinders, чтобы исключить их из предикторов. Нажмите OK.

    Нажмите Train , чтобы обучить новые деревья регрессии с помощью новых настроек предиктора.

  14. Наблюдайте новые модели в панели Models. Эти модели являются теми же деревьями регрессии как прежде, но обученное использование только пять из семи предикторов. Отображения приложения, сколько предикторов используется. Чтобы проверять, какие предикторы используются, щелкните, модель в Models разделяют на области и наблюдают флажки в диалоговом окне Feature Selection.

    Модели с двумя удаленными функциями выполняют сравнительно к моделям с помощью всех предикторов. Модели не предсказывают лучшего использования всех предикторов по сравнению с использованием только подмножества предикторов. Если сбор данных является дорогим или трудным, вы можете предпочесть модель, которая выполняет удовлетворительно без некоторых предикторов.

  15. Обучите три предварительных установки дерева регрессии с помощью только Horsepower как предиктор. Измените выборы в диалоговом окне Feature Selection и нажмите OK. Затем нажмите Train.

    Только Используя мощность двигателя, когда предиктор приводит к моделям с более низкой точностью. Однако модели выполняют хорошо, учитывая, что они используют только один предиктор. С этим простым одномерным пробелом предиктора крупное дерево теперь выполняет, а также средние и прекрасные деревья.

  16. Выберите лучшую модель в Models, разделяют на области и просматривают график остаточных значений. На вкладке Regression Learner, в разделе Plots, кликают по стреле, чтобы открыть галерею, и затем нажать Residuals (Validation) в группе Validation Results. График остаточных значений отображает различие между предсказанными и истинными ответами. Чтобы отобразить остаточные значения как линейный график, в разделе Style, выбирают Lines.

    Под X-axis выберите переменную, чтобы построить на x - ось. Выберите истинный ответ, предсказанный ответ, номер записи или один из ваших предикторов.

    Plot of the residuals for a regression tree

    Обычно хорошей модели рассеивали остаточные значения примерно симметрично приблизительно 0. Если вы видите какие-либо ясные шаблоны в остаточных значениях, вероятно, что можно улучшить модель.

  17. Чтобы узнать о настройках модели, выберите, лучшая модель в Models разделяют на области и просматривают расширенные настройки. nonoptimizable опции модели в галерее Model Type являются предварительно установленными начальными точками, и можно изменить дополнительные настройки. На вкладке Regression Learner, в разделе Model Type, нажимают Advanced. Сравните различные модели дерева регрессии в панели Models и наблюдайте различия в Усовершенствованном Окне параметров Дерева Регрессии. Установка Minimum leaf size управляет размером древовидных листов, и через это размер и глубина дерева регрессии.

    Чтобы попытаться улучшить модель далее, измените настройки Minimum leaf size к 8 и нажмите OK. Затем обучите новую модель путем нажатия на Train.

    Просмотрите настройки для выбранной обученной модели в панели Current Model Summary или в Усовершенствованном Окне параметров Дерева Регрессии.

    Чтобы узнать больше о настройках дерева регрессии, смотрите Деревья Регрессии.

  18. Можно экспортировать полную или компактную версию выбранной модели к рабочей области. На вкладке Regression Learner, в разделе Export, нажимают Export Model и выбирают Export Model или Export Compact Model. В диалоговом окне Export Model нажмите OK, чтобы принять имя переменной по умолчанию trainedModel.

    Чтобы видеть информацию о результатах, посмотрите в командном окне.

  19. Используйте экспортируемую модель, чтобы сделать предсказания на новых данных. Например, чтобы сделать предсказания для cartable данные в вашей рабочей области, введите:

    yfit = trainedModel.predictFcn(cartable)
    Выход yfit содержит предсказанный ответ для каждой точки данных.

  20. Если вы хотите автоматизировать обучение та же модель с новыми данными или изучить, как программно обучить модели регрессии, можно сгенерировать код из приложения. Чтобы сгенерировать код для лучшей обученной модели, на вкладке Regression Learner, в разделе Export, нажимают Generate Function.

    Приложение генерирует код из вашей модели и отображает файл в редакторе MATLAB. Чтобы узнать больше, смотрите, Генерируют код MATLAB, чтобы Обучить Модель с Новыми Данными.

Совет

Используйте тот же рабочий процесс, как в этом примере, чтобы оценить и сравнить другие типы модели регрессии, которые можно обучить в Regression Learner.

Обучите все nonoptimizable доступные предварительные установки модели регрессии:

  1. На ультраправом из раздела Model Type кликните по стреле, чтобы расширить список моделей регрессии.

  2. Нажмите All , и затем нажмите Train.

Чтобы узнать о других типах модели регрессии, смотрите, Обучают Модели Регрессии в Приложении Regression Learner.

Похожие темы