Дата канальи — про «специалистов» в данных / ML / AI
4.94K subscribers
205 photos
7 videos
12 files
189 links
Корпжиза аналитиков и DS. Если хотите анонимно поделиться историей на широкий круг -- го в личку @NikitaZelinskiy, аналогично по остальным вопросам
Download Telegram
#корпжиза #кейсы #ML

Москвичей испортил квартирный вопрос, а в нецентрализованной функции DSов портят KPI на фин эффекты.
Построили мы однажды на данных CRM модель оттока клиентских менеджеров.

Оно же как в b2b – продажи по личным контактам, КМ если уходит, старается клиентов с собой забрать, у нового год выходит чтобы выйти на тот же уровень дохода с тех же закрепленных клиентов.

Вопрос, куда внедрять? Попытка внедрить в hr-систему привлекла как муху на говно гопничка, назвавшегося DS тим лидом в HR. Сходу он затребовал половину фин эффекта от уже построенный и провалидированной в оффлайне модели.
Был послан на хуй, внедрили через рассылку в почте на руководителей руководителей и hrbp, провели пилоты, собрали фидбеки, защитили эффекты (кстати неплохие) у финансистов.

Так что если видите что-то внедренное очень криво, модель оттока не использует данные hr-систем и никак в них не отображается – возможно, этому были причины )

PS четверть тех, кому модель ставила высокий скор оттока – оказывались беременными
👍98😁3🤡3
#ML

Хотел расковырять ту старинную версию pymystem3, которая стучалась в инет, нашел что-то еще веселее. Назвали бы Джон Сноу, чтоли
😁12👎2
гугл в переводе тоже не стесняется. Вот такие code review в Яндексе
😁15
#кейсы #ML

Вторая серия каналья-стори от Влада
Forwarded from Sberloga (🇻 🇱 🇦 🇩)
Серия вторая 😄

Отчет значит читаю неспеша, решил сперва понять, что я за эмбединги то выгружал такие, а то вдруг я что неправильно выгрузил 😂
Короч изза того что клиентами были юрлица, то и эмбединги это были своего рода фичи по всем компаниям рф. Но как их сделать? Очень уж хочется понять, что компания 1 похожа на компанию 2. DS почесал то откуда руки росли и светлая мысль пришла откуда и ожидалось - у каждой компании же есть оквэд (код вида деятельности), значит их нужно использовать. Вроде даже и идея то прикольная, но при чем тут эмбеды? Т.е. банально коды в качестве фичей можно было бы использовать, но где же тут DATA SCIENCE а? 🤣
В общем по всем компаниям были спарсены эти коды из интернетов, эти коды были замапплены на словарь с описанием оквэдов, т.е. теперь у каждой компании есть теперь тексты...
Чувствуете, да, чем запахло? Если вы подумали, что тут сейчас NLP бригада подъедет, то вы ошиблись, это же уже DEEP LEARNING будет, а мы рексис ващет строим, поэтому на эти тексты мы натравим word2vec обученный и усредним 😦
Я конечно прихуел... блэд, это конечно было давно, но даже тогда это дерьмо только на курсах показывали, для примера, что "queen-king=woman" и все.
Но мало всего прочего, компании то появляются новые, где их оквэды брать? Как эту базу обновлять? Кто должен этот word2vec применять, а? А у DS лапки 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
Сидел как-то в панели в Сколково, называлась в духе “Data Science от маркетплейсов до промышленности.”
Все бы хорошо, мило болтали с коллегами и ведущим (кто не любит панели? к ним же доклад готовить не нужно).
Но все хорошее заканчивается, и после панели начинаются вопросы из зала.

Первый же вопрос – так а что с промышленностью? (а у нас в составе участников нет никого из промышленности).
И действительно, мои истории будут скорее ближе к банкам, маркетплейсам, развлечениям, телекомам, рекламе, к агро, чем к заводам, хотя есть много знакомых ребят из реальной индустрии.

Но вот на днях наткнулся на небольшой канал про каналий-DS на реальном таком металлургическом заводе. Жаль, не знаком с автором, но от историй реально кайфую. @na_zavod_blyat
🔥5
#ML

Все же здесь DS и знают базовые метрики?
Precision?
Precision@k?
А ничего вы не знаете, канальи! 🙈

Прошло пару лет как коллеги со светлой стороны Сбера выпустили свою замечательную статью на NIPS, примечательную такой картинкой

Про то как в разных recsys либах метрики считаются по-разному 😱
Но хотя бы precision@k вроде одинаково? Или нет? 🤔

Рассмотрим угловой кейс – на что делить, когда кандидатов сгенерилось меньше k? 🤓

Правильный ответ здесь– делить на k !!!!
Институт NIST– National Institute for Standards and Technology распространяет код как считать правильно 🥳

На для catboost закон не писан – он делит на число кандидатов 🤬😡🥵

Будьте внимательны! Или перепроверяйте за пакетами или считайте сами!
👍8🤔54🔥2🌚2
Зачем канальям алгоритмы? Например, можно ускорить расчёт дефолтной метрики из склерн раза в три — и на тысячах экспериментов при подборе гиперпараметров это существенно сэкономит время. Как это сделать рассказывает наш тим лид финтеха — Макс Шаланкин
Forwarded from Maxim.ML - канал
Наверняка у каждого на работе бывают моменты, когда нужно просто сесть и подождать чего-либо ☕️. Это может быть долгий запуск программы, долгий расчёт чего-либо, или просто неоптимальная работа не на вашей стороне, а на стороне коллеги, который сделал какой-то кривой процесс, который долго работает⌛️ .

Вот и у меня был один такой кейс, который удалось успешно решить. Он был связан с расчётом популярной метрики в машинном обучении в задаче классификации: ROC AUC. Ниже гайд, как можно оптимизировать и ваши расчеты тоже.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍117🔥5
Свалился под Новый год с температурой, в таком состоянии каждый убивает время по-разному.
Я вот люблю придумывать задачки вроде "приведите пример когда единичное дерево работает лучше случайного леса". Но сейчас у меня температура примерно 38 и в голову пришла совсем странная задачка -- придумать кейс когда изотоническая регрессия лучше бустинга.
И вот:

from sklearn.isotonic import IsotonicRegression
import numpy as np
from sklearn.datasets import make_regression
from xgboost import XGBRegressor
import plotly.graph_objs as go

x, y = make_regression(n_samples=1000, n_features=1, random_state=42, noise=3)
ir = IsotonicRegression()
ir.fit(x, y)
y_pred = ir.predict(x)
params = {'monotone_constraints':'(1)'}
xgb = XGBRegressor(**params, n_estimators=50, max_depth=3, verbosity=0, max_bin = 70, tree_method = 'hist')
xgb.fit(x, y)
y_pred_xgboost = xgb.predict(x)

fig2 = go.Figure()
fig2.add_trace(go.Scatter(x=np.array(x).squeeze(), y=y, mode='markers', name='исходные точки'
, marker=dict(color='LightSkyBlue', size=10)))
fig2.add_trace(go.Scatter(x=np.array(x).squeeze(), y=y_pred, mode='markers', name='изотоническая регрессия'
, line=dict(color='firebrick', width=4, dash='dashdot')))
fig2.add_trace(go.Scatter(x=np.array(x).squeeze(), y=y_pred_xgboost, mode='markers', name='XGB_regressor'
, line=dict(color='Green', width=4, dash='dashdot')))
fig2.update_layout(legend_orientation="v"
, legend=dict(x=.5, y = 0.95, xanchor="center")
, title="бустинг vs изотоник"
, xaxis_title="ордината"
, yaxis_title="абсцисса"
, margin=dict(l=0, r=0, t=50, b=0)
, hovermode="x"
, height=600
, width=900
, font_family="Arial"
, font_color="black"
, font_size = 20
, title_font_family="Times New Roman"
, title_font_size = 30
, title_font_color="black"
, legend_title_font_color="black"
, legend_title_font_size=20
, separators=", .*"
)
fig2.show()
👍5😁1
Спорили на днях с товарищем почему маркетплейс моделей обречен.
Один из моих поинтов -- устаревание окружений, в которых модели деплоятся. Часто видел что кто-то из ребят собрался с силами и сделал свою либу, но уже через пару лет без бубна ее не поставить.
А возня с менеджерами пакетов -- такое, на мой вкус. Возник вопрос -- много ли DS сталкивались в работе с ними?
👍53🔥2
Выберите плиз с чем работали из списка
Anonymous Poll
4%
rye
20%
uv
1%
flit
2%
hatch
92%
poetry
#ML

Итак, второй по популярности у нас uv, но знакомы с ним лишь 19% 😱
Время исправляться и образовываться. Утверждается, что он самый быстрый в моменте пакетный менеджер. И даже ускоряет установку больших пакетов 🤷‍♂️
Ну тогда попробуйте сыграть в перестановки:

$ pip install uv
$ uv pip install catboost

или, для ценителей однострочников:

$ pip install uv && uv pip install catboost

PS: результат непредсказуем

PPS:

$ uv tool install catboost

аналогично. А вот flask так ставится без проблем
👍5
Завтра в вышке ждем всех на завершающую мл-тренировку в этом году, заодно раздадим подарки активным и обсудим что будем делать в следующем
🔥6
Forwarded from Александра Сытник
Тренировки по ML

2️⃣8️⃣ декабря состоится последняя в этом году тренировка по машинному обучению ↩️

Мы вспомним пройденный материал. Подведём итоги и поговорим о планах. Нас ждут интересные выступления. Разбор соревнований. Подарки лидерам челленджей ❤️

📢 Спикер:
⚪️Александр Киреев, DS Team Lead МТС, 26 медалей Kaggle

📆 Когда: 28 декабря с 11:10
🗺️ Где: Покровский бульвар д. 11, ауд. R505

Подробнее про челленджи 🐭

Студентам других вузов необходимо заполнить форму для заказа пропуска не позднее чем за 24 часа до дня проведения тренировок, по организационным вопросам участия в тренировках вы можете обращаться к Александре ▶️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥74
Саша на Новый год хочет 2000 подписчиков, осталось 10. Поможем?
Forwarded from LightAutoML framework (Alex Ryzhkov)
Добрый день, коллеги!

От лица команды LightAutoML поздравляю всех с наступающим 2025 годом! Хотим пожелать вам всем побольше качественных датасетов, ML моделей и счастливых бизнес-заказчиков 🎄

Со своей стороны мы подвели итоги 2024 года, среди которых можно отметить следующие:

1) Победа на Kaggle AutoML Grand Prix 2024, где мы были единственной командой, выигравшей 2 из 5 этапов

2) Фактически двукратный рост на основном GitHub репозитории sb-ai-lab/LightAutoML

3) Чуть более трети от всех 230k загрузок LightAutoML с PyPI произошли в 2024 году

4) В 2024 году в журнале JMLR вышла статья по прогону OpenML AutoML benchmark, в которой мы попали в топ-3 общемирового рейтинга AutoML решений для различных задач

5) В мае 2024 более недели находились в топе рейтинга Trending Research на сайте paperswithcode.com

6) Руководитель команды LightAutoML Александр Рыжков полностью прошел Kaggle - стал 4x Kaggle Grandmaster (теперь их 10 человек по миру)

Счастливого 2025-ого года и спасибо, что вы с нами 🦙

P.S. Верю в силу 6 рукопожатий - если вдруг кто-то из ваших друзей/коллег еще не знает про lama, приглашайте к нам в канал 🙃
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
KDD_2020_Tutorial_on_Online_User_Engagement_Metrics_and_Optimization.pdf
20.3 MB
#ML

Разбирал папку 'Загрузки' и наткнулся на туториал c KDD20 по связи офлайн и онлайн метрик в рекомах -- лучшее, что я вообще видел по рекомендашкам.

Как интерпретировать A/B если существенную часть находят через поиск, как оптимизировать напрямую Revenue или GMV, как встроить RL, как избежать feedback loop (и здесь ответ совсем не тот, что принимается на собесах) и тд -- 270 страниц удовольствия в формате презентации 😊

Короче, хоть через 4 дня и 25й год, но эта штука очень актуальна. А еще канальи-DS любят разбирать статьи про математику, а платит нам бизнес, поэтому кмк небесполезно узнать как оно все-таки правильно выдавать стране угля.
🔥234👍3
#кейсы #ML

Давно про кейсы не было.
Вот история – загнали как-то больших и важных манагеров MLю учиться. Чтоб прочувствовали, канальи, от и до. В прямом смысле – и данные собрать и подготовить, и код написать, и пилот провести, и фин эффект посчитать, и в пром внедриться. 🙈
Ясное дело, что опытные делегаторы почти все делегировали.
Но кому? Все 🍅🍅 пилят в пром нормальные модели, вот и выдали большим и важным для помощи юных и активных.
Построили они 100500 моделей на 100500 подуктов и приносят внедрять, мол пилот уже был – все конверсии в 10 раз выросли и тп.
Говорю – ничего не знаю, ничего не видел, пилотируем еще раз.
Передают они модельку для инференса в питонячьем ноутбуке (первый красный флаг), затем выясняется, что работает она примерно суток (!!!) трое. И это все типа инференс (!). 🤬😵😱

Естестественно, от пилота я вежливо отказался.
А какие в корпорации опции решить проблему? Шантаж и эскалация 👊.
Сижу значит на встрече с этими биг боссами и они очень вежливо интересуются – что мол не так?
Я и говорю – трое суток как-то многовато (к тому времени я уже глянул в код и увидел что на инференсе модель каждый раз переобучается, причем с генерацией 10тыс+ признаков и отбором фичей, тоже не самым быстрым).
Они – а сколько нормально?
Для батча на этом объеме – максимум минут 5-10 на готовой витрине с фичами. 😝😝😝
Коллеги говорят “большое спасибо” и завершают встречу, а на заднем фоне кто-то орет. 🤕

PS: Про отбор фич и неочевидные эффекты поговорим отдельным постом, а пока к расчету фичей -- потому как ускорение расчета фичей это очень почетно) В соревновании OTTO – Multi-Objective Recommender System один из участников пишет что в 100+ раз (!!!) ускорил генерацию стандартных фич -- и это не предел.
7👍7😁6
Дата канальи — про «специалистов» в данных / ML / AI pinned «#кейсы #ML Давно про кейсы не было. Вот история – загнали как-то больших и важных манагеров MLю учиться. Чтоб прочувствовали, канальи, от и до. В прямом смысле – и данные собрать и подготовить, и код написать, и пилот провести, и фин эффект посчитать, и…»