Переход от единичных моделей к ансамблям
Мы рассмотрели различные модели по отдельности, оценивали их качество и выбирали среди них лучшую — ту, что даёт самый высокий уровень точности. Теперь перейдём к
ансамблированию (объединению в ансамбль). Идея в том, что несколько моделей будут работать не поодиночке, выдавая каждая свой результат, а в связке. Мы видели подобный подход, когда говорили об ансамблировании деревьев решений по принципам
бустинга (boosting) или
бэггинга (bagging). Теперь же мы будем объединять модели, разные по своей природе.
Построение базовых моделей
Для работы используем уже знакомый датасет
response to complain. Первое поле — идентификатор, мы его исключаем, а поле
response to complain назначаем целевой переменной (таргетом).
После настройки типов данных последовательно применяем три разных типа анализа:
1.
Дерево решений C5.0.
2.
Дискриминантный анализ (Discriminant analysis).
3.
Метод опорных векторов, используя узел SVM (Support Vector Machine).
В настройках каждой модели включена опция подсчета метрики склонности (Propensity Score).
Создание ансамбля из моделей
Теперь наша задача — скомбинировать эти модели в ансамбль, чтобы каждая из них улучшала результат предыдущей. Для этого отсоединяем модели от конечного узла и соединяем их последовательно со специальным узлом
Ensemble (Ансамбль), который находится в разделе Field Ops.
В настройках узла ансамблирования:
• Снимаем флажок
Filter outfields generated by ensemble models, чтобы увидеть все служебные поля, которые создает узел в процессе работы.
• Выбираем метод построения итоговой модели. Среди подходов, например, есть
голосование на основе доверительных интервалов (Confidence-Weighted Voting). Однако мы остановимся на методе агрегации на основе
склонности (Propensity). Так как для каждой модели мы включили расчет этой метрики, узел сможет оценить средний прирост по ней и на этой основе построить ансамбль.
Перед запуском необходимо не забыть разделить датасет на обучающую и тестовую выборки с помощью узла
Partition. Установим соотношение 70% на обучение (Training) и 30% на проверку (Testing).
Анализ результатов ансамблирования
Запускаем узел анализа и смотрим на результат. Сравним точность (Accuracy) каждой модели на тестовой выборке:
• Дерево решений C5.0:
74.25%.
• Дискриминантный анализ:
71.6%.
• SVM:
73.17%.
Комбинированная,
ансамблированная модель показывает результат практически
76%. Это наглядно демонстрирует, что ансамбль отработал лучше, чем каждая из моделей по отдельности.
Чтобы убедиться окончательно, запросим в узле анализа расчет коэффициента Джини (Gini coefficient). Ансамблированная модель лидирует по всем метрикам: её
коэффициент Джини превышает 0.5, а точность составляет 0.753. Остальные модели показали более низкие результаты. Это подтверждает, что использование ансамбля эффективнее применения отдельных моделей.
Если в настройках узла Ensemble вернуть флажок для фильтрации промежуточных полей, на выходе мы получим чистый результат итоговой модели с Accuracy = 0.753 и Gini = 0.5.
Работа с порогом классификации
После получения ансамбля мы можем выгрузить итоговые данные. Узел Ensemble генерирует не только сам ответ («да» или «нет»), но и
вероятность (propensity) этого ответа. Автоматическое проставление бинарного ответа на основе вероятности можно отключить, оставив принятие окончательного решения за человеком: он сам определит, считать ли вероятность 0.55 достаточной для ответа «да».
Мы можем попытаться найти оптимальное пороговое значение вероятности. Для этого подадим вероятность, сгенерированную ансамблем, на вход новой модели, например, дерева решений C5.0, чтобы та автоматически подобрала порог.
Проанализировав результат такого подхода, мы увидим, что точность не улучшилась — она упала с 0.753 до 0.742. Это говорит о том, что попытка ручного или внешнего переопределения критерия для бинарного ответа не всегда приносит пользу. В любом случае, ансамблированная модель оказалась лучше, чем каждая из её составных частей.
В заключение, мы увидели, как объединение нескольких моделей в совокупности дает прирост точности. Следующий шаг — посмотреть, как можно автоматизировать сам процесс отбора типов анализа, чтобы система сама определяла, какой из них наиболее предпочтителен для конкретного набора данных.
Краткие итоги
Центральная тема материала — практическое подтверждение гипотезы о том, что агрегация разнородных прогностических моделей в ансамбль дает прирост качества, недостижимый для каждой из них по отдельности. На примере задачи бинарной классификации демонстрируется, что слабые стороны одного алгоритма могут компенсироваться сильными сторонами другого, если их результаты объединены корректным методом. Экспериментально доказано, что итоговая метрика Accuracy и коэффициент Gini у ансамбля оказались выше, чем у дерева решений, дискриминантного анализа и метода опорных векторов, обученных на одних и тех же данных.
Ключевой аналитический вывод заключается в том, что ценность ансамбля не сводится к простому усреднению результатов. Узел ансамблирования, агрегируя модели на основе метрик склонности (propensity), строит новое, более устойчивое решение. Это методологически отличается от независимой оптимизации порога классификации постфактум. Неудачная попытка улучшить качество ансамбля путем внешнего пересчета порога на основе дополнительного дерева решений показала, что необдуманное вмешательство в сбалансированную конструкцию может привести к деградации результата. Система принятия решений становится не просто суммой ее компонентов, а сложным равновесием, которое легко нарушить.
С практической точки зрения, подход определяет сценарий, в котором аналитик сначала добивается максимума возможного от единичных моделей, а затем использует автоматизированные средства платформы для их слияния. Это освобождает от субъективного выбора «лучшей» модели, поскольку ансамбль демонстрирует способность нивелировать риски, связанные с выбором одного-единственного, возможно, неоптимального алгоритма. Становится понятно, что дальнейшее повышение эффективности лежит в плоскости автоматического поиска и объединения моделей, где система сама подбирает наилучшую комбинацию под конкретные данные.
1. Ансамблирование позволяет объединять модели, разные по своей алгоритмической природе, для получения единого прогноза.
2. Ключевая цель ансамбля — получить более высокое качество, чем демонстрирует любая из отдельно взятых моделей.
3. В интерфейсе платформы для слияния моделей используется специальный узел Ensemble.
4. Для корректного обучения и оценки ансамбля, как и для обычных моделей, требуется предварительное разделение данных на обучающую и тестовую выборки.
5. Метод агрегации в ансамбле может быть разным, например, на основе усреднения склонностей (propensity) или голосования.
6. Эксперимент подтвердил, что ансамбль превзошел по точности C5.0, дискриминантный анализ и SVM.
7. Ансамбль генерирует как итоговый класс, так и оценку вероятности, что дает гибкость при принятии решений.
8. Решение о пороге классификации, когда вероятностную оценку переводят в жесткий ответ «да/нет», может быть делегировано человеку.
9. Попытка принудительно пересчитать порог классификации с помощью другой модели не привела к росту точности.
10. Не всякое внешнее вмешательство в результат ансамбля ведет к его улучшению.
11. Ансамбль эффективен, так как компенсирует слабые стороны одних моделей сильными сторонами других.
12. Следующим шагом может быть автоматизация подбора типов моделей для ансамбля под конкретный датасет.
1. Чем принципиально отличается ансамблирование моделей разного типа от ансамблирования деревьев (бустинга или бэггинга)?
2. Опишите последовательность действий для объединения трех обученных моделей в единый ансамбль.
3. Почему перед запуском ансамбля так же важно разделять данные на обучающую и тестовую выборки?
4. Какую роль играет метрика склонности (propensity) в методе ансамблирования, рассмотренном в лекции?
5. Какие метрики использовались для сравнения качества отдельных моделей и финального ансамбля?
6. Как на практике можно интерпретировать превосходство ансамбля по коэффициенту Джини?
7. Для чего может потребоваться отключать автоматическое проставление флага «да/нет» на выходе ансамбля?
8. Какая гипотеза проверялась, когда сгенерированную ансамблем вероятность подали на вход новой модели C5.0?
9. Какой вывод можно сделать из того факта, что точность ансамбля упала после попытки пересчитать порог классификации?
10. Является ли ансамбль простым усреднением результатов входящих в него моделей? Аргументируйте ответ на основе материала.
11. В каком случае ансамблирование нескольких слабых моделей может оказаться эффективнее поиска одной самой сильной?
12. Какой следующий шаг по оптимизации процесса моделирования рассматривается в лекции?