Прогнозы нескольких моделей объединяют, чтобы получить один итоговый ответ: например, выбрать класс голосованием или усреднить числа. Набор моделей и правило объединения их ответов называют ансамблем.
Объединение не гарантирует правильного ответа. Например, в случайном лесу усреднение прогнозов разнообразных деревьев может компенсировать часть ошибок, но не обязательно все.
Что объединяет ансамбль моделей
Представьте, что несколько моделей решают одну задачу и дают прогноз для одного объекта. Ансамбль использует их ответы, чтобы получить общий прогноз по выбранному правилу.
Способ объединения зависит от вида ответа:
- При классификации модель выбирает класс — категорию, к которой относится объект. Для объединения таких ответов можно использовать голосование.
- При регрессии модель выдаёт численный прогноз. Такие прогнозы можно усреднить.
Например, VotingRegressor в scikit-learn обучает несколько базовых моделей для регрессии и усредняет их прогнозы. Голосование и усреднение — примеры правил объединения, а не описание всех способов построить ансамбль.
Как получить общий прогноз
Все примеры ниже условные: ответы и числа придуманы для объяснения, а не получены в эксперименте.
Проголосовать за класс
Пусть три модели определяют класс одного объекта. Первая и вторая выбирают А, третья — Б.
| Модель | Прогноз |
|---|---|
| Первая | А |
| Вторая | А |
| Третья | Б |
При голосовании без весов каждый ответ учитывается одинаково. Класс А встречается чаще, поэтому он становится итоговым прогнозом. Так устроено голосование по наиболее частому классу, описанное в документации scikit-learn 1.6.1.
Если голоса распределились поровну, одного подсчёта недостаточно: понадобится дополнительное правило выбора. Как именно разрешается равенство, зависит от реализации.
Усреднить числа
Теперь модели решают задачу с численным ответом. Их прогнозы для одного объекта — 10, 12 и 14. Складываем их и делим сумму на число прогнозов:
(10 + 12 + 14) / 3 = 12.
Итоговый прогноз равен 12. Но сам по себе расчёт среднего не показывает, насколько этот ответ близок к правильному: для сравнения нужен известный правильный ответ.
Учесть вероятности и веса
Не всякое голосование опирается только на выбранные моделями классы. При мягком голосовании можно объединять прогнозируемые вероятности классов с учётом весов моделей. Вес определяет вклад модели в расчёт. Итогом становится класс с наибольшей средней вероятностью.
Для такого способа модели-классификаторы должны выдавать вероятности классов. Этот вариант описан в разделе о мягком голосовании документации scikit-learn 1.6.1.
Когда объединение может помочь и в чём его предел
В случайном лесе — ансамбле деревьев решений — усреднение прогнозов разнообразных деревьев может компенсировать часть ошибок. Такую возможность описывает документация scikit-learn. Речь идёт о части ошибок и о конкретном примере ансамбля: компенсация не является обязательным свойством любого объединения.
Вернёмся к голосованию за класс. Модели выбрали А, А и Б, поэтому итоговый ответ — А. Но если правильный класс объекта — Б, то ошиблись две модели и итог голосования тоже неверен. Большинство определило итог, но не подтвердило его правильность.
Голосование показывает, какой класс выбрали чаще. Чтобы проверить итог в этом примере, нужно сравнить его с известным правильным классом.
Как попробовать идею самостоятельно
Возьмите один объект и заранее задайте его правильный класс — например, А. Запишите для него три условных прогноза: А, А и Б. Затем:
- Найдите класс, который встречается чаще остальных, и запишите его как итог голосования. Это класс А.
- Сравните итог с заданным правильным классом. В этом случае голосование дало верный ответ.
- Не меняя правильный класс А, измените прогнозы на А, Б и Б. Повторите голосование: теперь итогом будет Б, а значит, ансамбль ошибётся.
Отдельно попробуйте усреднить три численных прогноза. Задайте условный правильный ответ и сравните его со средним, не предполагая, что они обязательно совпадут.




