предсказании пола клиента по его транзакциям

Дмитрий Афанасьев, занявший в соревновании первое место, рассказал о решении самой простой задачи о предсказании пола клиента по его транзакциям (пол был известен для 12000 человек, предлагалось вычислить вероятность оказаться мужчиной оставшимся 3000 клиентам). Основные наблюдения Дмитрия по поводу данных и контеста состояли в том, что из текстовых описаний MCC-кодов и типов транзакций тяжело что-то получить, при этом MCC-коды важнее типов транзакций. Специфика соревнования подсказывает, что обучение и корректная валидация моделей гораздо важнее, чем опора при поиске решения на результаты публичного рейтинга.

Задача выглядела достаточно классической, поэтому интуиция подсказывала, что наиболее оправданным является применение неглубоких деревьев с малым количеством признаков на агрегатах (на сырых транзакционных данных модели не работают). Базовые признаки были связаны со стандартными производными от трат (сумма, количество, min/max), параметры xgboost: eta = 0.02, depth = 3, subsample = 0.6. Ключевыми признаками также являлись “мужские” и “женские” траты в разрезах по различным MCC-категориям и типам транзакций и другие более специфические (например, объединение MCC-кодов в пары: если после покупки в магазине женской одежды идёт покупка в магазине мужской, то это снижает вероятность того, что данный клиент – женщина). Сверху также навешивался стекинг наивного байеса как признака, в котором траты в MCC-кодах использовались как простой bag of words. Более подробно про решение задачи A – в презентации (ссылка) и видео-выступлении (ссылка).