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

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

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

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

Это дерево предсказывает ответ на основе двух предикторов, 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, нажимают Regression Learner.

  3. На вкладке Regression Learner нажмите New Session и выберите From Workspace.

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

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

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

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

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

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

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

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

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

    Совет

    Если у вас есть Parallel Computing Toolbox™, то в первый раз вы нажимаете Train, вы видите диалоговое окно, в то время как приложение открывает параллельный пул рабочих. После того, как пул открывается, можно обучить модели множественной регрессии одновременно и продолжить работать.

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

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

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

    Regression Learner строит и истинный учебный ответ и предсказанный ответ в настоящее время выбранной модели.

    Примечание

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

  9. Выберите модель в Списке предыстории, чтобы просмотреть результаты той модели. Под X-axis выберите Horsepower и исследуйте график ответа. Оба истинные и предсказанные ответы теперь построены. Покажите ошибки прогноза, чертившие как вертикальные строки между предсказанными и истинными ответами, путем установки флажка Errors.

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

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

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

  12. Выберите другие модели в Списке предыстории и сравните предсказанный по сравнению с фактическими графиками.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Совет

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

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

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

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

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

Похожие темы