Глубинный анализ данных и текстов на базе IBM SPSS Modeler

Ансамблирование моделей ч.1

В материале изложена техника ансамблирования (сбора в ансамбль) прогностических моделей разной природы (дерево решений, дискриминантный анализ, метод опорных векторов) для повышения точности. Логика построена от практической демонстрации: сначала строятся и оцениваются отдельные модели, затем они объединяются специальным узлом, и итоговый ансамбль сравнивается с ними по метрикам качества (Accuracy, Gini). В финале ставится вопрос о подборе оптимального порога вероятности для классификации.

Основные мысли

В результате изучения лекции слушатель будет способен:
1. Объяснить концепцию ансамблирования для моделей различной алгоритмической природы.
2. Собрать поток данных в интерфейсе аналитической платформы для последовательного обучения и объединения нескольких моделей.
3. Интерпретировать результаты сравнения метрик точности (Accuracy) и коэффициента Джини для отдельных моделей и их ансамбля.
4. Обосновать, почему ансамбль может превосходить по качеству каждую из отдельных моделей, входящих в его состав.
5. Настроить узел ансамблирования, выбрав подходящий метод агрегации, например, на основе склонности (propensity).
6. Спроектировать эксперимент для оценки влияния самостоятельного изменения порога классификации на итоговое качество модели.
Показывать лекцию целиком
Краткое изложение
Переход от единичных моделей к ансамблям

Мы рассмотрели различные модели по отдельности, оценивали их качество и выбирали среди них лучшую — ту, что даёт самый высокий уровень точности. Теперь перейдём к ансамблированию (объединению в ансамбль). Идея в том, что несколько моделей будут работать не поодиночке, выдавая каждая свой результат, а в связке. Мы видели подобный подход, когда говорили об ансамблировании деревьев решений по принципам бустинга (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), строит новое, более устойчивое решение. Это методологически отличается от независимой оптимизации порога классификации постфактум. Неудачная попытка улучшить качество ансамбля путем внешнего пересчета порога на основе дополнительного дерева решений показала, что необдуманное вмешательство в сбалансированную конструкцию может привести к деградации результата. Система принятия решений становится не просто суммой ее компонентов, а сложным равновесием, которое легко нарушить.

С практической точки зрения, подход определяет сценарий, в котором аналитик сначала добивается максимума возможного от единичных моделей, а затем использует автоматизированные средства платформы для их слияния. Это освобождает от субъективного выбора «лучшей» модели, поскольку ансамбль демонстрирует способность нивелировать риски, связанные с выбором одного-единственного, возможно, неоптимального алгоритма. Становится понятно, что дальнейшее повышение эффективности лежит в плоскости автоматического поиска и объединения моделей, где система сама подбирает наилучшую комбинацию под конкретные данные.
Концепция ансамблирования разных моделей
Мы переходим от использования единичных моделей к их ансамблированию. Ранее ансамблирование применялось к однотипным алгоритмам (деревьям) через бустинг или бэггинг. Теперь задача — объединить в связку модели, разные по своей природе, чтобы получить единый, более качественный результат.

Построение и объединение моделей

Работа ведется с известным датасетом. Целевая переменная — response to complain. Последовательно строятся три модели разного типа:
1. Дерево решений (C5.0).
2. Дискриминантный анализ.
3. Метод опорных векторов (SVM).
Во всех моделях активирован расчет метрики склонности (Propensity Score).

Для объединения моделей используется узел Ensemble.

• В его настройках мы снимаем фильтрацию служебных полей, чтобы видеть все результаты работы.
• Выбираем метод агрегации на основе склонности (Propensity), так как каждая модель предоставляет для этого данные.
• Важный этап: перед запуском ансамбля датасет обязательно делится узлом Partition на обучающую (70%) и тестовую (30%) выборки.

Результаты работы ансамбля

Сравнение точности (Accuracy) моделей на тестовой выборке дает наглядную картину:
• Дерево решений C5.0: 74.25%
• Дискриминантный анализ: 71.6%
• SVM: 73.17%
Ансамбль (Ensemble): ~76%

Ансамбль также лидирует по коэффициенту Джини (Gini), который превышает 0.5. Это доказывает, что совместное использование моделей дает прирост точности по сравнению с каждой из них по отдельности. Финальные метрики ансамбля: Accuracy = 0.753, Gini = 0.5.

Управление порогом классификации

На выходе ансамбля можно получить как готовый ответ («да/нет»), так и рассчитанную вероятность. Автоматическое отнесение к классу можно отключить, чтобы эксперт сам установил порог для принятия решения (например, с какого уровня вероятности считать, что клиент откликнется).

Была предпринята попытка улучшить модель, подав вероятность с выхода ансамбля на вход нового дерева решений C5.0, чтобы та нашла «оптимальный» порог. Это привело к обратному эффекту: точность упала с 0.753 до 0.742. Эксперимент показал, что необдуманное вмешательство в работу сбалансированного ансамбля может ухудшить результат.

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

Выводы

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. Какой следующий шаг по оптимизации процесса моделирования рассматривается в лекции?
Вернуться к учебному плану