Дата канальи — про «специалистов» в данных / ML / AI
2.22K subscribers
78 photos
2 videos
4 files
84 links
Перлы из жизни аналитиков и ds — от безобидных заблуждений до откровенного надувательства. Посвящается AI-евангелистам (любителям интеграций формул в экселе и LLM). Для связи @NikitaZelinskiy
加入频道
Поехали прямо с кейсов
Как в массе своей (модельный ширпотреб) строят модели антифрод (antifraud — детекция нежелательного поведения)?
Берут какую-то имеющуюся разметку (или покупают с рынка) и учат supervised модель классификации.
Как она работает на инференсе? Всем запросам назначает чиселку, выше этой чиселки отсекает (даже если модель калибрована - а в задаче рода еще поди скалибруй).
Что делать если вы фродстер и заметили что часть самого вкусного траффика отсекается такой модельной? А напрягаться не сильно хочется?
Ну можно налить очень много плохого траффика — вас либо сосем заблокируют, либо дадут по рукам DS чтоб он отключил модель, которая так много блочит. Если хочется поизощреннее, чтобы наверняка — сильно меняйте долю фродового траффика от недели к неделе - тогда уж наверняка «модель будет нестабильна», а если еще и примешивать фрод, сгенеренный чуть по-другому — так еще и все метрики качества будут весело скакать (f1 и roc_auc) — по рукам DS будут получать до посинения, а вам — мир и спокойствие.
PS: конечно, этот пост — ни в коем случае не советы фродстерам как ухудшить людям жизнь, а призыв к антифрод-командам активнее думать над стратегиями противной стороны, использовать агентские системы и симуляции при тестировании моделей, правильно выстраивать модельную архитектуру — и, главное, учиться коммуницировать со своими менеджерами )
Иногда советы как объегорить ушлых менеджеров превращаются в статьи, например:
Что делать когда требуют табличную модель по пяти точкам?
Хороших новостей две: первая — никто не сможет померять качество (разметки-то нет), вторая — вы себе в актив сможете записать проект с LLM.
Идея простая — переведем таблицу фичей в текст и пусть LLM нам предсказывает https://github.com/clinicalml/TabLLM хоть что-нибудь.
Берите, пользуйтесь
Всегда бесило что когда речь заходит о фичах клиента, манагеры произносят аллилуйя — «пол-возраст». Им вторят канальи-аналитики, которые про «составим портрет клиента продукта» Еще бы расу добавили - и получился бы трельяж — сексизм, эйджизм, расизм.
Тем не менее, качество таргетирования рекламы часто проверяют на попадание в пол и возраст.
И хотя их можно предсказать даже только лишь по посещению страничек в сети – писал про задачу на хабре – и мы с ребятами запускали сореву MTS ML Cup – на 2300 участников, все равно смысла предсказывать эти таргеты я не улавливал (кроме как доказать внешнему измерителю что мы могем в таргетинг рекламы – хотя внешний измеритель откуда знает про пол и возраст? По 10 тыс панелистам?). Почему фичи юзера это не статистики, описывающие его поведение, или cf-эмбеддинги, построенные по потребляемому контенту, а пол и возраст? На заре скор-карт в банках в 70е еще можно было понять (потому как понятно откуда эти фичи брать и как с ними работать), но сейчас?
Если уж так хочется составить портрет клиента – потрудитесь спросить себя – для какой конкретно бизнес-цели? Чтобы знать в каких каналах и как его лучше привлечь? Ну тогда и стройте модели на тему привлечения (тот же аплифт). Затем чтобы понять ценовую политику? Займитесь LTV или сразу ценообразованием. И т.д.
Возражение на ум приходит тут только одно — знаем мы ваших ml-чуваков — запихнут в фичи какой-нибудь лик или откровенную чушь.
Вспоминается случай когда строили модель определения жертв мошенников для одного серо-бур-малинового банка и топ-1 фичей оказались звонки из этого самого банка на телефон жертвы. Или другой кейс где вероятность дефолта заемщика очень сильно зависела от региона.
И если вы пошли классическим табличным подходом — наинжинирить фичей и обучить понятный алгоритм с понятными свойствами и возможностью мерять uncertaincy в каждой точке на инференсе — то остановиться и проверить что за фичи в топе, каков их смысл в бизнесе, и как меняется их важность со временем — вас сможет подстраховать. Но если вы просто учили классную сеть — результат может быть сюрпризом, а не все сюрпризы приятные. Хотя и в этом случае интерпретация возможна, только копаться чуть подольше придется (и возможно потом трейн пересобирать).
В любом случае для меня фича юзера это что-то вроде «частота использования сервиса» нежели «возраст по ДУЛ (документ, удостоверяющий личность)».
Попросили провалидировать "модель", которые коллеги из другой компании в пром ставят. Сначала сделали category encoding, затем train-test split (от щедрот отложили 10%), а дальше xgboost с такими вот параметрами, и test используют для eval. Модель строил "senior", 5+ лет опыта
В первоисточнике новости о вчерашнем квантовом прорыве: https://blog.google/technology/research/google-willow-quantum-chip/ есть картинка с занимательной горизонтальной осью. Если завтра каналья-манагер потребует учить модели на кубитах и срочно осваивать квантовые компьютеры -- тыкайте носом в нее
Раз уж зашла речь про фичи.
Посвящается каунтам (counts) в проме.
В одной далекой-далекой галактике канальи-DS решили сделать счетчики числа запросов с сайтов разных тематик в месяц. А чего б не сделать – есть 2гис, есть similarweb – сиди и считай сколько в каждой категории визитов на каждый id. Да для стабильности зафиксируй связку сайт-тематика, а то вдруг из черной дыры возникнет ужасное смещение!!! Прошла пара лет как такое чудо в проме.
Другие канальи-DS строили модель, а таргеты у них были на время примерно “текущий год минус 3” или “текущий минус 2”. И тест тоже примерно на “текущий год минус полтора”. Построили эти DS модель и даже проверили «как следует» на таком вот тесте – клиент-то важный.
Только вот в проме модель странно себя повела.
Стали копать после бодрого пинка от продажников – а каунты-то все раз в 10 меньше чем на трейне. Вы не поверите, но сайты в рунете появляются новые, а старые приходят в упадок или закрываются (кто еще помнит bash.im или lurk?).
Мораль простая – каунты (практически всегда) зло, но в следующем посте вас ждет зло еще злее.
Видел в одном канале канальи-манагера пафосные рассуждения, что любого сотрудника можно оценить по масштабу последствий от ошибочно принятого этим сотрудником решения. Как обычно отвечу кейсом.

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

Нам вменяют ущерб в 2 трлн рублей недополученный банком прибыли. На серьезных щах и эмоционально. 🤬
В итоге кейс по существу свелся к тому что у нас распределения поехали (по мнению этого сверхразума), а сравнивал он по средним (!).

В ответ коллега набросал нехитрый скриптец вроде тех что ниже
Начальник извинился и агрессивного дурачка уволили 🙌

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

PS: кстати, с тестами Колмогорова-Смирнова или PSI тоже стоит обращаться внимательно, прикладываю ссылку на исследование стат свойств PSI https://scholarworks.wmich.edu/cgi/viewcontent.cgi?article=4249&context=dissertations
Если каунты плохие, то бывают фичи и пострашнее. Есть такая неблагодарная задача – цену на недвижимость предсказывать. В будущее. Если бы без него – то базовая эвристика это среднее / медиана цены за квадрат в аналогичных квартирах, которые находятся по соседству, сверху уже можно накручивать все что в голову взбредет.

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

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