Что отображается в дереве модели выберите все правильные ответы

Добавил пользователь Валентин П.
Обновлено: 19.09.2024

  • модель - это физический или информационный аналог объекта, функционирование которого - по определенным параметрам - подобно функционированию реального объекта
  • модель - это новый объект, который отражает некоторые стороны изучаемого объекта или явления, существенные с точки зрения цели моделирования
  • модель некоторого объекта - это другой объект (реаль¬ный, знаковый или воображаемый), отличный от исходного, он обладает существенными для целей моделирования свойствами и в рамках этих целей полностью заменяет исходный объект
  • модель - это некое вспомогательное средство, объект, который в определенной ситуации заменяет другой объект

Вставьте в предложение наиболее точный термин из предложенного ниже списка. Если материальная модель объекта - это его физическое подобие, то информационная модель объекта - это его .

  • преобразование
  • описание
  • схематичное представление
  • точное воспроизведение
  • информационные модели одного и того же объекта, пусть даже предназначенные для разных целей, должны быть во многом сходны
  • информационные модели одного и того же объекта, предназначенные для разных целей, могут быть совершенно разными

Может ли передаваться информация от человека к человеку и от поколения к поколению без использования моделей?

  • да, чаще всего знания передаются без использования ка¬ких-либо моделей
  • нет, без моделей никогда не обойтись
  • да, иногда, например, генетическая информация

Верно ли, что моделирование представляет собой один из основных методов познания, способ существования знаний?

  • схема функционирования устройства
  • план мероприятий, посвященных Дню Победы
  • научная гипотеза
  • оглавление книги
  • прогноз погоды
  • отчет о деятельности предприятия

Идет подсчет результатов

Выберите, что Вас интересует:

От команды разработчиков Конструктора Тестов: Посмотрите и пользуйтесь нашим новым проектом: Сборник всех промокодов Покупайте в известных магазинах с хорошими скидками!

Сообщить о нарушение

Попробуйте пройти эти тесты:

Если сможете закончить 13 крылатых фраз, то вы настоящий интеллигент

Если закончите цитаты из советских фильмов на 14/14, то вы наверняка родились в СССР

Вы невероятно умны, если смогли пройти этот тест на 10 из 10

Насколько у вас хорошая логика?

Вы гений, если пройдете этот тест.

Какое имя подходит вам по знаку зодиака

Тест: Узнайте в каком году вы должны были родиться на самом деле?

Тест о животных: Угадай зверя по его носу

Не заглядывая в Гугл, сможете ответить хотя бы на половину вопросов этого теста?

Что вас ждет в старости?

Тест на эрудицию, который мы с треском завалили. Что насчет вас?

Тест, который проверит вашу эрудицию: где вы на шкале от 0 до 12?

Как хорошо вы разбираетесь в географии?

Тест на эрудицию: Ваш IQ высок, как Эверест, если вы сможете набрать 80%!

Насколько уникальна ваша личность?

Никто не может ответить больше чем на 7 из 10 вопросов в этом тесте на IQ

Цветовой тест на возраст

На какое животное вы похожи, когда злитесь?

Популярные тесты

Если сможете закончить 13 крылатых фраз, то вы настоящий интеллигент

Если закончите цитаты из советских фильмов на 14/14, то вы наверняка родились в СССР

Вы невероятно умны, если смогли пройти этот тест на 10 из 10

Насколько у вас хорошая логика?

Вы гений, если пройдете этот тест.

Какое имя подходит вам по знаку зодиака

Тест: Узнайте в каком году вы должны были родиться на самом деле?

Тест о животных: Угадай зверя по его носу

Не заглядывая в Гугл, сможете ответить хотя бы на половину вопросов этого теста?

Что вас ждет в старости?

Тест на эрудицию, который мы с треском завалили. Что насчет вас?

Тест, который проверит вашу эрудицию: где вы на шкале от 0 до 12?

Как хорошо вы разбираетесь в географии?

Тест на эрудицию: Ваш IQ высок, как Эверест, если вы сможете набрать 80%!

Насколько уникальна ваша личность?

Никто не может ответить больше чем на 7 из 10 вопросов в этом тесте на IQ

Цветовой тест на возраст

На какое животное вы похожи, когда злитесь?

Преимущества

Можете встраивать тесты на Ваш сайт. Тест показывается нашем и других сайтах. Гибкие настройки результатов. Возможность поделиться тестом и результатами. Лавинообразный ("вирусный") трафик на тест. Русскоязычная аудитория. Без рекламы!

Создавайте тесты онлайн, всё бесплатно. У нас можно бесплатно: создать тест онлайн для для учеников, друзей, сотрудников, для вашего сайта, с ответами и результатами - Все Бесплатно!

Пользователям

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

Конструктор Тестов ру - это огромное количество интересных и бесплатных тестов на сообразительность, IQ, зрение, знания правил дорожного движения, программирования и многое другое. Если Вам понравилось, обязательно поделитесь со своими друзьями в социальных сетях или просто ссылкой. А еще Вы можете легко создать свой тест и его будут проходить десятки тысяч людей.

Внимание! Наши тесты не претендуют на достоверность – не стоит относиться к ним слишком серьезно!

Информация

HTML-код для вставки на сайт Разрешить комментарии Автор теста запретил комментарии Блок Новинок и Популярных тестов Теперь тесты из блоков новинок и популярных отображаются внутри вашего сайта, что увеличивает просмотры ваших страниц в 5 раз! Все комментарии после публикации проходят строгую модерацию!

Нажмите, чтобы узнать подробности

Модель объекта

Вопрос № 1. (Баллов: 1.0)

Отметь материальные модели.

Верный ответ 2. макет здания

6. компьютерная игра

Верный ответ 8. кукла

Верный ответ 10. статуя

Верный ответ 11.глобус

Вопрос № 2. (Баллов: 1.0)

Пронумеруй действия по порядку. Ответ записать, например, так 43215

Порядок действий при создании информационной модели.

1. Определить цель создания модели.

2. Проверить соответствие модели объекту-оригиналу.

3. Выбрать способ представления информации (текст, рисунок, таблица, схема, диаграмма Эйлера-Венна).

4. Создать информационную модель (составить описание, таблицу, нарисовать схему, диаграмму или рисунок).

5. Рассмотреть объект-оригинал и назвать его существенные свойства с точки зрения цели моделирования.

Верный ответ 15342

Вопрос № 3. (Баллов: 1.0)

Определите модель


1. Текстовая модель (суждение)

Верный ответ 2. Графическая модель (рисунок)

3. Графическая модель (диаграмма Эйлера-Венна)

Вопрос № 4. (Баллов: 1.0)

Пронумеруй действия по порядку. Ответ записать, например, так 4632157

Порядок действий при создании материальной модели.

1. Проверить соответствие модели объекту-оригиналу.

2. Рассмотреть объект-оригинал.

3. Изготовить модель по эскизу.

4. Назвать существенные свойства объекта-оригинала с точки зрения цели моделирования.

5. Определить цель создания модели.

6. Выбрать материал для изготовления модели.

7. Создать эскиз модели.

Верный ответ 7352164

Вопрос № 5. (Баллов: 1.0)

Определите модель


1. Текстовая модель (суждение)

Верный ответ 2. Графическая модель (диаграмма Эйлера—Венна)

3. Графическая модель (рисунок)

Вопрос № 6. (Баллов: 1.0)

Отметь информационные модели

Верный ответ 1. рисунок

Верный ответ 2. текст

Верный ответ 3. таблица

Верный ответ 6. диаграмма

Верный ответ 7. схема

Верный ответ 8. компьютерная игра

Верный ответ 9. фотография

Верный ответ 11. географическая карта

Вопрос № 7. (Баллов: 1.0)

Из каких материалов может быть сделана модель объектов (укажи нужное) ?

Верный ответ 1. ТКАНЬ

Верный ответ 2. ГЛИНА

Верный ответ 3. ДЕРЕВО

Верный ответ 7. БУМАГА

Верный ответ 8. МЕТАЛЛ

Вопрос № 8. (Баллов: 1.0)

Выбери истинные высказывания

Верный ответ 1. Куклы служат для развлечения взрослых и детей

Верный ответ 2. Куклы помогают детям познавать мир

Верный ответ 3. Кукол используют в кукольных спектаклях

4. Куклы не служат для моделирования живых объектов

5. Куклы – это упрощённные подобия людей и животных

Вопрос № 9. (Баллов: 1.0)

Выбери ложные высказывания

1. Игрушки – это упрощённные подобия людей и животных.

2. Игрушки помогают детям познавать мир.

3. Игрушки – это точные копии реальных объектов.

Верный ответ 4. Игрушки – это модели только живых объектов.

Верный ответ 5. Игрушки– это упрощённные подобия различных объектов

Вопрос № 10. (Баллов: 1.0)

Какими существенными свойствами должна обладать модель реального объекта

Верный ответ 1. быть познавательной, безопасной, удобной для использования

2. обладать всеми без исключения свойствами моделируемого объекта

Верный ответ 3. обладать некоторыми свойствами моделируемого объекта

4. легко воспламеняться и быть опасной для жизни

Верный ответ 5. обладать существенными свойствами моделируемого объекта


рядковый номер элемента данного типа. Например, Скругление:1 и Скругление:2, Сече
ние плоскостью:1
и Сечение плоскостью:2.

Чтобы переименовать любой элемент в Дереве построения, выполните следующие дейс!
твия:

1. Выделите название элемента в Дереве построения.

2. Щелкните мышью по выделенному названию или нажмите .

Название станет доступным для редактирования.

3. Введите новое название элемента.

4. Щелкните мышью вне списка элементов дерева или нажмите .

Новое название элемента будет сохранено в Дереве построения.

Обычно элементы переименовывают в соответствии с их конструктивным смыслом (на!
значением). Например, элемент Приклеить операцией вращения можно переименовать
в Бобышку, Вырезать кинематический элемент — в Паз и т.д. Пример переименования
объектов в Дереве построения показан на рисунке 77.4.

77.3.2. Пиктограммы элементов в Дереве

Слева от названия каждого элемента в Дереве отображается пиктограмма. Она соответс!
твует способу, которым этот элемент получен. Пиктограмму, в отличие от названия эле!
мента, изменить невозможно. Благодаря этому при любом переименовании элементов в
Дереве построения остается наглядная информация о способе их создания.

Обычно пиктограммы отображаются в Дереве построения синим цветом. Если объект
выделен, то его пиктограмма в Дереве зеленая. Если объект указан для выполнения опе!
рации, то его пиктограмма в Дереве красная.

случайный лес

Использование готовых библиотек, таких как Scikit-Learn, позволяет легко реализовать на Python сотни алгоритмов машинного обучения.

Обзор методов классификации в машинном обучении с помощью Scikit-Learn

Как работает дерево решений

Дерево решений — интуитивно понятная базовая единица алгоритма случайный лес. Мы можем рассматривать его как серию вопросов да/нет о входных данных. В конечном итоге вопросы приводят к предсказанию определённого класса (или величины в случае регрессии). Это интерпретируемая модель, так как решения принимаются так же, как и человеком: мы задаём вопросы о доступных данных до тех пор, пока не приходим к определённому решению (в идеальном мире).

Базовая идея дерева решений заключается в формировании запросов, с которыми алгоритм обращается к данным. При использовании алгоритма CART вопросы (также называемые разделением узлов) определяются таким образом, чтобы ответы вели к уменьшению загрязнения Джини (Gini Impurity). Это означает, что дерево решений формирует узлы, содержащие большое количество образцов (из набора исходных данных), принадлежащих к одному классу. Алгоритм старается обнаружить параметры со сходными значениями.

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

Дерево решений для простой задачи

Начнём с проблемы простой бинарной классификации, изображённой на диаграмме.

Random forest simple data

Наш набор данных имеет всего два параметра (две заданные переменные), x1 и x2, а также 6 образцов, несущих эти параметры. Образцы разделены метками на два класса. Хотя это простая задача, линейно классы разделить невозможно. Это означает, что мы не можем нарисовать на предложенной плоскости прямую линию, которая отделит один класс от другого.

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

Мы используем Scikit-Learn, чтобы создать дерево решений и обучить ( fit ) его, используя наши данные.

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

Можно проверить точность предсказаний нашей модели:

Разумеется, мы получим точность 100 %, так как сообщили модели правильные ответы ( y ) и не ограничивали глубину дерева. Но следует помнить, что подобная подгонка дерева решений под тренировочные данные может спровоцировать переобучение модели.

Визуализация дерева решений

Что же на самом деле происходит при обучении дерева решений? Хороший способ понять это — визуализация модели при помощи соответствующей функции Scikit-Learn (подробнее функция рассматривается в данной статье).

random forest decision tree

Во всех узлах, кроме листьев (цветные узлы без исходящих связей), содержится 5 частей:

  1. Вопрос о значении параметра образца. Ответ может принимать значение True или False . Это точка разделения узла, в зависимости от ответа определяется, в каком направлении вниз по дереву продвинется образец данных.
  2. Gini : средневзвешенное загрязнение Джини должно уменьшаться по мере того, как мы движемся вниз по дереву.
  3. Samples : количество прошедших через этот узел образцов.
  4. Value : отношение классов, прошедших через этот узел, выраженное в абсолютных числах. К примеру, верхний узел выделил 2 образца класса 0 и 4 образца класса 1.
  5. Class : класс большинства прошедших через узел образцов. Для листьев это прогнозируемое значение всех попадающих в эти узлы элементов.

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

random forest data projection

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

Загрязнение Джини

Теперь самое время рассмотреть концепцию загрязнения Джини (математика не так уж страшна, как кажется). Загрязнение Джини — вероятность неверной маркировки в узле случайно выбранного образца. К примеру, в верхнем (корневом) узле вероятность неверной классификации образца равна 44.4 %. Это можно вычислить с помощью уравнения:

Gini impurity equation

Загрязнение Джини узла n равно 1 минус сумма отношений класса к общему количеству образцов pi, возведённых в квадрат, для каждого из множества классов J (в нашем случае это всего 2 класса). Звучит сложно, поэтому покажем, как вычисляется загрязнение Джини для корневого узла:

В каждом узле дерево решений ищет такое значение определённого параметра, которое приведёт к максимальному уменьшению загрязнения Джини. В качестве альтернативы для разделения узлов также можно использовать концепцию накопления информации.

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

В итоге общевзвешенное загрязнение Джини последнего слоя сводится к нулю. Это значит, что каждый конечный узел содержит только образцы одного класса, и случайно выбранный образец не может быть неверно классифицирован. Звучит отлично, но помните, что это может быть сигналом того, что модель переобучена. Это происходит, потому что узлы смоделированы только на обучающих данных.

Переобучение, или почему лес лучше одного дерева

Может создаться впечатление, что для решения задачи хватило бы и одного дерева решений. Ведь эта модель не делает ошибок. Однако важно помнить, что алгоритм безошибочно отсортировал только тренировочные данные. Этого и следовало ожидать, поскольку мы указали верные ответы и не ограничили глубину дерева (количество слоёв). Но цель машинного обучения состоит в том, чтобы научить алгоритм обобщать полученную информацию и верно обрабатывать новые, ранее не встречавшиеся данные.

Переобучение происходит, когда мы используем очень гибкую модель (с высокой вместимостью), которая просто запоминает обучающий набор данных, подгоняя узлы под него. Проблема в том, что такая модель выявляет не только закономерности в данных, но и любой присутствующий в них шум. Такую гибкую модель часто называют высоковариативной, поскольку параметры, формирующиеся в процессе обучения (такие как структура дерева решений) будут значительно варьироваться в зависимости от обучающего набора данных.

С другой стороны, у недостаточно гибкой модели будет высокий уровень погрешности, поскольку она делает предположения относительно тренировочных данных (модель смещается в сторону предвзятых предположений о данных). К примеру, линейный классификатор предполагает, что данные распределены линейно. Из-за этого он не обладает достаточной гибкостью для соответствия нелинейным структурам. Ригидная модель может оказаться недостаточно ёмкой даже для соответствия тренировочным данным.

В обоих случаях — и при высокой вариативности, и при высокой погрешности — модель не сможет эффективно обрабатывать новые данные.

Поиск баланса между излишней и недостаточной гибкостью модели является ключевой концепцией машинного обучения и называется компромиссом между вариативностью и погрешностью (bias-variance tradeoff).

Алгоритм дерева решений переобучается, если не ограничить его максимальную глубину. Он обладает неограниченной гибкостью и может разрастаться, пока не достигнет состояния идеальной классификации, в которой каждому образцу из набора данных будет соответствовать один лист. Если вернуться назад к созданию дерева и ограничить его глубину двумя слоями (сделав только одно разделение), классификация больше не будет на 100 % верной. Мы уменьшаем вариативность за счёт увеличения погрешности.

Случайный лес

  1. Случайная выборка образцов из набора данных при построении деревьев.
  2. При разделении узлов выбираются случайные наборы параметров.

Случайная выборка тренировочных образцов

В процессе тренировки каждое дерево случайного леса учится на случайном образце из набора данных. Выборка образцов происходит с возмещением (в статистике этот метод называется бутстреппинг, bootstrapping). Это даёт возможность повторно использовать образцы одним и тем же деревом. Хотя каждое дерево может быть высоковариативным по отношению к определённому набору тренировочных данных, обучение деревьев на разных наборах образцов позволяет понизить общую вариативность леса, не жертвуя точностью.

При тестировании результат выводится путём усреднения прогнозов, полученных от каждого дерева. Подход, при котором каждый обучающийся элемент получает собственный набор обучающих данных (с помощью бутстреппинга), после чего результат усредняется, называется бэггинг (bagging, от bootstrap aggregating).

Случайные наборы параметров для разделения узлов

Вторая базовая концепция случайного леса заключается в использовании определённой выборки параметров образца для разделения каждого узла в каждом отдельном дереве. Обычно размер выборки равен квадратному корню из общего числа параметров. То есть, если каждый образец набора данных содержит 16 параметров, то в каждом отдельном узле будет использовано 4. Хотя обучение случайного леса можно провести и с полным набором параметров, как это обычно делается при регрессии. Этот параметр можно настроить в реализации случайного леса в Scikit-Learn.

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

Чтобы лучше понять преимущество случайного леса, представьте следующий сценарий: вам нужно решить, поднимется ли цена акций определённой компании. У вас есть доступ к дюжине аналитиков, изначально не знакомых с делами этой компании. Каждый из аналитиков характеризуется низкой степенью погрешности, так как не делает каких-либо предположений. Кроме того, они могут получать новые данные из новостных источников.

Поэтому нужно не опираться на решение какого-то одного аналитика, а собрать вместе их прогнозы. Более того, как и при использовании случайного леса, нужно разрешить каждому аналитику доступ только к определённым новостным источникам, в надежде на то, что эффекты шумов будут нейтрализованы выборкой. В реальной жизни мы полагаемся на множество источников (никогда не доверяйте единственному обзору на Amazon). Интуитивно нам близка не только идея дерева решений, но и комбинирование их в случайный лес.

Алгоритм Random Forest на практике

Настало время реализовать алгоритм случайного леса на языке Python с использованием Scikit-Learn. Вместо того чтобы работать над элементарной теоретической задачей, мы используем реальный набор данных, разбив его на обучающий и тестовый сеты. Тестовые данные мы используем для оценки того, насколько хорошо наша модель справляется с новыми данными, что поможет нам выяснить уровень переобучения.

Набор данных

Мы попробуем рассчитать состояние здоровья пациентов в бинарной системе координат. В качестве параметров мы используем социально-экономические и персональные характеристики субъектов. В качестве меток мы используем 0 для плохого здоровья и 1 для хорошего. Этот набор данных был собран Центром по Контролю и Предотвращению Заболеваний и размещён в свободном доступе.

random forest data table

Как правило 80 % работы над научным проектом заключается в изучении, очистке и синтезировании параметров из сырых данных (подробнее узнать можно здесь). Однако в этой статье мы сосредоточимся на построении модели.

В данном примере мы сталкиваемся с задачей несбалансированной классификации, поэтому простой параметр точности модели не отобразит истинной её производительности. Вместо этого мы используем площадь под кривой операционных характеристик приёмника (ROC AUC), измерив от 0 (в худшем случае) до 1 (в лучшем случае) со случайным прогнозом на уровне 0,5. Мы также можем построить указанную кривую, чтобы проанализировать модель.

В этом Jupyter notebook содержатся реализации и дерева решений, и случайного леса, но здесь мы сфокусируемся на последнем. После получения данных мы можем создать и обучить этот алгоритм следующим образом:

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

Мы рассчитаем прогнозы классификации ( predict ) наряду с прогностической вероятностью ( predict_proba ), чтобы вычислить ROC AUC.

Результаты

Итоговое тестирование ROC AUC для случайного леса составило 0.87, в то время как для единичного дерева с неограниченной глубиной — 0.67. Если вернуться к результатам обработки тренировочных данных, обе модели покажут эффективность, равную 1.00 на ROC AUC. Этого и следовало ожидать, ведь мы предоставили готовые ответы и не ограничивали максимальную глубину каждого дерева.

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

Мы можем визуализовать кривую ROC для одиночного дерева (верхняя диаграмма) и для случайного леса в целом (нижняя диаграмма). Кривая лучшей модели стремится вверх и влево:

single tree ROC

random forest ROC

Случайный лес значительно превосходит по точности одиночное дерево.

Ещё один способ оценить эффективность построенной модели — матрица погрешностей для тестовых прогнозов.

confusion matrix

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

Значимость параметра

Значимость параметра в случайном лесу — это суммарное уменьшение загрязнения Джини во всех узлах, использующих этот параметр для разделения. Мы можем использовать это значение для определения опытным путём, какие переменные более всего принимаются во внимание нашей моделью. Мы можем рассчитать значимость параметров в уже обученной модели и экспортировать результаты этих вычислений в Pandas DataFrame следующим образом:

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

Рассматриваемая величина может также использоваться для синтезирования дополнительных параметров, объединяющих несколько наиболее важных. При отборе параметров их значимость может указать на те, которые можно удалить из набора данных без ущерба производительности модели.

Визуализация единичного дерева леса

Мы также можем визуализовать единичное дерево случайного леса. В данном случае нам придётся ограничить его глубину, иначе оно может оказаться слишком большим для преобразования в изображение. Для этого изображения глубина была ограничена до 6 уровней. Результат всё равно слишком велик, однако, внимательно его изучив, мы можем понять, как работает наша модель.

decision tree large

Следующие шаги

Следующим шагом будет оптимизация случайного леса, которую можно выполнить через случайный поиск, используя RandomizedSearchCV в Scikit-Learn. Оптимизация подразумевает поиск лучших гиперпараметров для модели на текущем наборе данных. Лучшие гиперпараметры будут зависеть от набора данных, поэтому нам придётся проделывать оптимизацию (настройку модели) отдельно для каждого набора.

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

Реализацию случайного поиска для оптимизации модели можно изучить в Jupyter Notebook.

Полностью рабочий образец кода

Приведённый ниже код создан с помощью repl.it и представляет полностью рабочий пример создания алгоритма случайного леса на Python. Можете самостоятельно его запустить и попробовать поэкспериментировать, изменяя код (загрузка пакетов может занять некоторое время).

Заключение и выводы

Хотя мы действительно можем создавать мощные модели машинного обучения на Python, не понимая принципов их работы, знание основ позволит работать более эффективно. В этой статье мы не только построили и использовали на практике алгоритм случайного леса, но и разобрали, как работает эта модель.

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

Читайте также: