Сегодня делимся вопросом от подписчика — он работает с NLP и решил уточнить у сообщества.
💬 Вот что он пишет:
Если использую базовые векторизации вроде Bag-of-Words или TF-IDF — стараюсь максимально «очистить» текст:
удаляю пунктуацию, стоп-слова, лемматизирую, нормализую регистр и т.п.
Но если работаю с моделями вроде spaCy или gensim, где контекст важен — то минимальная предобработка: стараюсь сохранить структуру.
А как подходите к этому вы?
А как делаете вы?
👇 Поделитесь своими практиками в комментариях!
Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Если вы хоть раз строили ML-пайплайн всерьёз — вы сталкивались с вопросом:
Чем трекать эксперименты, метрики, параметры и артефакты?
Кто-то клянётся в верности MLflow, кто-то уже не представляет жизни без Weights & Biases (W\&B).
Так кто прав?
✔️ Open-source, без ограничений:
Можно поднять свой сервер, всё под контролем.
✔️ Просто, понятно и стабильно:
Всё нужное — логгинг, артефакты, модели, REST API — уже есть.
✔️ Интеграция с кучей фреймворков:
Поддерживает sklearn, PyTorch, TensorFlow, Spark и даже Java/R.
✔️ Безопасность и приватность:
Ничего не утекает в облако — всё у тебя на машине или в корпоративном кластерe.
✔️ Удобство и интерфейс:
Визуализации, дашборды, сравнение экспериментов — всё за 5 минут.
✔️ Сильная экосистема:
Кроме логгинга — есть hyperparameter sweeps, модели, dataviz, CI, репорты.
✔️ Отличная поддержка и документация:
Работает «из коробки», даже джуны могут сразу в бой.
✔️ Сотрудничество и коллаборации:
Проект можно удобно шерить в команде, вести историю, оставлять заметки.
— MLflow кажется «голым» без UI, но легко кастомизируется.
— W\&B — мощный, но требует подключения к внешнему сервису (и может быть платным).
— Один ориентирован на независимость и продакшн, другой — на удобство и скорость R\&D.
— MLflow можно встроить в CI/CD и жить без браузера. W\&B — это скорее облачная платформа с хорошим UX.
MLflow, W\&B, а может вообще свой YAML + Excel?
Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
Недавно один из подписчиков поделился своей болью, и она знакома многим, кто пишет пайплайны на Pandas:
Я собрал пайплайн, который работает каждые 2 минуты: делает pivot’ы, merge, векторные операции. Данные геопространственные, собираются из 4–5 источников, обрабатываются, суммируются по h3 ячейкам, потом объединяются и пересчитываются. Всё — через NumPy и Pandas.
Проблема:
— Объём данных небольшой (5–10 тыс. строк, 100–150 колонок)
— Операции векторные, локально работают за 30–40 сек
— Но на сервере в Kubernetes всё тормозит:
⚠️ нагрузка на CPU зашкаливает
⚠️ контейнер иногда throttled
⚠️ Go-сервисы рядом едят 0.1 CPU, а Python жрёт всё
Смотрю в сторону Polars — говорят, он быстрее. Но интересует не только скорость, а экономия CPU. Кто-то советует DuckDB, но SQL-стиль с NumPy-вычислениями пугает. Ещё вариант — переписать всё на Go, но там нет готовых аналогов pivot-таблиц и NumPy-функций.
🤔 Вопросы, которые волнуют:
— Правда ли Polars заметно экономит CPU по сравнению с Pandas?
— DuckDB подходит для интенсивных расчётов?
— Стоит ли использовать Apache Arrow? Можно ли сочетать его с Pandas?
— Или пора признать: Python — не для продакшн ETL, и переписать всё на Go?
🤝 Если вы сталкивались с похожей ситуацией — напишите в комментариях: какой стек вы выбрали и почему?
P.S. Если хотите задать вопрос, заполните нашу гугл-форму. Это займет 5 минут.
Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
🕵️♂️ Data Science-челлендж для тех, кто не боится настоящих ошибок
Про data leakage знают все. Но теория — это просто.
А как насчёт практики: сможете ли вы найти, где модель обучается на «будущем»?
👍 Ваш кейс: вы — дата-сайентист в авиакомпании.
Ваша задача — предсказать вероятность аварии до вылета. У вас реальные данные: техобслуживание, параметры двигателей, логи. Всё выглядит надёжно. Но... сколько утечек вы допустите, прежде чем поймёте, почему F1-score такой высокий?
👍 Проверьте себя
1️⃣ Вопрос
❓ Можно ли использовать это для предсказания до взлета?
Ответ: → Нельзя. Это данные из будущего. Temporal Leakage. Удаляйте все пост-фактум признаки.
✅ +12 баллов за правильный ответ
2️⃣ Вопрос
❓ Вроде логично?
Ответ:→ Нет. Вы зашили таргет в признаки. Это прямая утечка.
✅ +1 балл за правильный ответ
3️⃣ Вопрос
❓ Стоит ли их оставлять?
Ответ:→ Нет. Это Entity Leakage. Модель может просто запомнить, что «этот борт не ломается».
✅ +2 балла за правильный ответ
4️⃣ Вопрос
❓ Это важно?
Ответ:→ Да. Если train использует рейсы из будущего, а test — из прошлого, это Temporal Leakage.
✅ +1 балл за правильный ответ
5️⃣ Вопрос
❓ Есть риск?
Ответ: → Да. Это Data Analysis Leakage — модель знает про тест заранее.
✅ +1 балл за правильный ответ
Максимум баллов — 17.
Набрали больше 14? Значит, умеете не просто строить модели, а и замечать опасные утечки.
Меньше 10? Самое время пересмотреть подход к построению пайплайнов и анализу данных.
💬 Делитесь результатами и находками в комментариях — особенно если нашли что-то, что мы упустили.
Библиотека дата-сайентиста #междусобойчик
Когда модель слишком хороша, чтобы быть правдой — скорее всего, где-то утечка.
Про data leakage знают все. Но теория — это просто.
А как насчёт практики: сможете ли вы найти, где модель обучается на «будущем»?
Ваша задача — предсказать вероятность аварии до вылета. У вас реальные данные: техобслуживание, параметры двигателей, логи. Всё выглядит надёжно. Но... сколько утечек вы допустите, прежде чем поймёте, почему F1-score такой высокий?
Вы используете данные из чёрного ящика и пост-полётные отчёты (Altitude, Alerts, Warnings, Outcome).
❓ Можно ли использовать это для предсказания до взлета?
Ответ:
Вы добавили колонку history_file — из какого .csv пришёл самолёт: no_accidents.csv или previous_accidents.csv.
❓ Вроде логично?
Ответ:
В датасете есть Tail# и Flight# — уникальные ID самолёта и рейса.
❓ Стоит ли их оставлять?
Ответ:
Вы делите данные случайным образом (random split), не учитывая дату рейса (Date).
❓ Это важно?
Ответ:
Вы считаете корреляции, запускаете PCA — до split'а на train/test.
❓ Есть риск?
Ответ:
Максимум баллов — 17.
Набрали больше 14? Значит, умеете не просто строить модели, а и замечать опасные утечки.
Меньше 10? Самое время пересмотреть подход к построению пайплайнов и анализу данных.
💬 Делитесь результатами и находками в комментариях — особенно если нашли что-то, что мы упустили.
Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5🔥1
🎯 Как устроен процесс постановки задач в DS-проектах
Вопрос от нашего подписчика:
Работа дата-сайентиста редко начинается с чёткой фразы: «Построй, пожалуйста, модель классификации».
Чаще — с размытого бизнес-вопроса:
🗣 «Как нам уменьшить отток?»
🗣 «Можно ли предсказать спрос?»
🗣 «А что если применить ML и сделать лучше?»
Чтобы такие вопросы превратились в работающие ML-решения, нужен чёткий процесс постановки и валидации задачи:
1️⃣ Формулировка бизнес-проблемы
В идеале, формулировка задачи — совместная работа: PM или бизнес-стейкхолдер озвучивает цель (например, сократить убытки), а DS помогает уточнить, можно ли это формализовать и измерить.
Важно сразу понять:
— Что считается «успехом»?
— Какое решение будет полезно и внедряемо?
— Какие есть ограничения по данным, времени, интерпретируемости?
2️⃣ Перевод в ML-форму
Бизнес-вопрос → ML-задача.
Пример:
> Удержать пользователей → Задача бинарной классификации: уйдёт или нет?
На этом этапе определяем:
— Формат задачи: классификация, регрессия, кластеризация?
— Целевая переменная (target) и доступные фичи
— Источники данных и объём истории
3️⃣ Сбор и анализ данных
Иногда именно на этом этапе становится ясно, что:
— таргета нет,
— данные грязные или разрозненные,
— «то, что хотели предсказать», уже известно слишком поздно.
EDA (Exploratory Data Analysis) часто помогает откатиться назад и переформулировать задачу.
4️⃣ Формулировка гипотез и метрик
Пример гипотезы:
«Если мы предскажем churn за 7 дней, это даст маркетингу время для реакции».
Важно:
— Выбрать метрику качества, понятную бизнесу (например, Precision\@k, uplift, ROI)
— Понять, как будет выглядеть A/B или offline-валидация
— Зафиксировать baseline (что будет, если не использовать ML)
5️⃣ Ретроспектива и переопределение
Даже после запуска — постановка задачи не заканчивается.
Важно отслеживать:
— работает ли модель в реальности?
— совпадают ли результаты offline и online?
— не поменялись ли условия, под которые она была обучена?
💬 А как у вас в команде формируются ML-задачи? Кто участвует, что помогает, а что мешает? Расскажите в комментариях 👇
Библиотека дата-сайентиста #междусобойчик
Вопрос от нашего подписчика:
Кто в команде формулирует задачу для дата-сайентиста и как понять, что мы вообще решаем ту самую проблему?
Работа дата-сайентиста редко начинается с чёткой фразы: «Построй, пожалуйста, модель классификации».
Чаще — с размытого бизнес-вопроса:
🗣 «Как нам уменьшить отток?»
🗣 «Можно ли предсказать спрос?»
🗣 «А что если применить ML и сделать лучше?»
Чтобы такие вопросы превратились в работающие ML-решения, нужен чёткий процесс постановки и валидации задачи:
В идеале, формулировка задачи — совместная работа: PM или бизнес-стейкхолдер озвучивает цель (например, сократить убытки), а DS помогает уточнить, можно ли это формализовать и измерить.
Важно сразу понять:
— Что считается «успехом»?
— Какое решение будет полезно и внедряемо?
— Какие есть ограничения по данным, времени, интерпретируемости?
Бизнес-вопрос → ML-задача.
Пример:
> Удержать пользователей → Задача бинарной классификации: уйдёт или нет?
На этом этапе определяем:
— Формат задачи: классификация, регрессия, кластеризация?
— Целевая переменная (target) и доступные фичи
— Источники данных и объём истории
Иногда именно на этом этапе становится ясно, что:
— таргета нет,
— данные грязные или разрозненные,
— «то, что хотели предсказать», уже известно слишком поздно.
EDA (Exploratory Data Analysis) часто помогает откатиться назад и переформулировать задачу.
Пример гипотезы:
«Если мы предскажем churn за 7 дней, это даст маркетингу время для реакции».
Важно:
— Выбрать метрику качества, понятную бизнесу (например, Precision\@k, uplift, ROI)
— Понять, как будет выглядеть A/B или offline-валидация
— Зафиксировать baseline (что будет, если не использовать ML)
Даже после запуска — постановка задачи не заканчивается.
Важно отслеживать:
— работает ли модель в реальности?
— совпадают ли результаты offline и online?
— не поменялись ли условия, под которые она была обучена?
💬 А как у вас в команде формируются ML-задачи? Кто участвует, что помогает, а что мешает? Расскажите в комментариях 👇
Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4
Особенно — при дисбалансе классов.
Accuracy (точность классификации) — доля правильно предсказанных объектов:
accuracy = (TP + TN) / (TP + TN + FP + FN)
Но… эта метрика вводит в заблуждение, когда классы несбалансированы.
Допустим, модель предсказывает мошенничество (fraud) по транзакциям:
# Модель всегда говорит не мошенничество
y_pred = [0] * 1000
y_true = [0]*995 + [1]*5
from sklearn.metrics import accuracy_score
accuracy_score(y_true, y_pred) # → 0.995
📈 Accuracy = 99.5%. Но модель никогда не находит мошенников. Она бесполезна.
💬 А вы что используете в своих задачах с дисбалансом классов? Бывали ситуации, где accuracy сыграла с вами злую шутку?
Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4⚡1
This media is not supported in your browser
VIEW IN TELEGRAM
🔮 Пора перестать верить в магические модели
Иначать их понимать.
📦 InterpretML — мощный open-source фреймворк от Microsoft для интерпретации моделей машинного обучения.
Он объединяет лучшие техники explainability под одной оболочкой:
📝 Обучайте прозрачные модели (
📝 Объясняйте поведение черных ящиков (
📝 Анализируйте как глобальное поведение, так и отдельные предсказания
Зачем вообще объяснять ML-модель:
✔️ Отладка модели: почему она ошиблась в этом примере
✔️ Feature Engineering: какие признаки реально важны, а что мусор
✔️ Фейрность и этика: не дискриминирует ли модель по полу, возрасту, расе
✔️ Регуляции (законы по контролю ИИ): можем ли мы объяснить, почему модель отказала в кредите
✔️ Человеко-машинное доверие: как врач может поверить в диагноз от модели, если не понимает, почему
Установка:
🔥 Холивар: а вообще, нужно ли объяснять ML-модели?
📝 Мнение №1:
📝 Мнение №2:
📝 Мнение №3:
А как вы считаете? Напишите в комментарии или оставьте реакцию:
🔥 — Да, объяснение критично
❤️ — Нет, главное — точность
👍 — Зависит от задачи
💣 Понравился пост? С ваc буст, а с нас больше топового контента!
Библиотека дата-сайентиста #междусобойчик
И
📦 InterpretML — мощный open-source фреймворк от Microsoft для интерпретации моделей машинного обучения.
Он объединяет лучшие техники explainability под одной оболочкой:
glassbox)blackbox)Зачем вообще объяснять ML-модель:
Установка:
pip install interpret
# или
conda install -c conda-forge interpret
🔥 Холивар: а вообще, нужно ли объяснять ML-модели?
Зачем? Главное — метрика. Если ROC-AUC 0.97 — модель хороша.
→ Black-box → Profit
Если ты не можешь объяснить — значит, ты не понимаешь. А значит, и модель не готова к продакшену.
Модели должны быть интерпретируемы там, где это критично — медицина, финансы, суд.
В TikTok-рекомендателе — пофиг. В банковском скоринге — нельзя игнорировать.
А как вы считаете? Напишите в комментарии или оставьте реакцию:
🔥 — Да, объяснение критично
❤️ — Нет, главное — точность
👍 — Зависит от задачи
Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤3🔥2
🧩 Задача для продвинутых дата-сайентистов: фильтрация по датам
Дано:
Результат:
💡 Задача:
Отфильтровать заказы с датами после 2023-02-01:
Вывод:
Вопросы:
1. Почему результат фильтрации не соответствует ожиданиям?
2. Как правильно работать с колонкой
🎯 Подвох:
— Колонка
— Сравнение строк по дате работает не как с датами, а лексикографически.
— Значение
💡 Решение:
—
— Фильтрация по datetime теперь корректна.
Итог:
— Всегда проверяйте типы данных перед операциями с датами.
— Обрабатывайте некорректные даты сразу при загрузке.
— Это критично для корректного анализа и отчетности.
Библиотека дата-сайентиста #междусобойчик
Дано:
import pandas as pd
data = {
'order_id': [1, 2, 3, 4, 5],
'order_date': ['2023-01-01', '2023-02-15', 'not available', '2023-03-10', '2023-04-05'],
'amount': [100, 150, 200, 130, 170]
}
df = pd.DataFrame(data)
print(df)
Результат:
order_id order_date amount
0 1 2023-01-01 100
1 2 2023-02-15 150
2 3 not available 200
3 4 2023-03-10 130
4 5 2023-04-05 170
💡 Задача:
Отфильтровать заказы с датами после 2023-02-01:
filtered = df[df['order_date'] > '2023-02-01']
print(filtered)
Вывод:
order_id order_date amount
1 2 2023-02-15 150
2 3 not available 200
3 4 2023-03-10 130
4 5 2023-04-05 170
Вопросы:
1. Почему результат фильтрации не соответствует ожиданиям?
2. Как правильно работать с колонкой
order_date, чтобы фильтрация по датам работала?🎯 Подвох:
— Колонка
order_date — это строки (object), а не тип datetime.— Сравнение строк по дате работает не как с датами, а лексикографически.
— Значение
'not available' мешает конвертации.💡 Решение:
df['order_date'] = pd.to_datetime(df['order_date'], errors='coerce')
filtered = df[df['order_date'] > '2023-02-01']
print(filtered)
—
pd.to_datetime с errors='coerce' заменит неправильные даты на NaT.— Фильтрация по datetime теперь корректна.
Итог:
— Всегда проверяйте типы данных перед операциями с датами.
— Обрабатывайте некорректные даты сразу при загрузке.
— Это критично для корректного анализа и отчетности.
Библиотека дата-сайентиста #междусобойчик
❤5🔥4👍2
💬 Вопрос от подписчика: правда ли, что в AI всё не про нейросети, а про грязную работу с данными
✅ Краткий ответ: да, грязной работы больше, чем кажется.
В реальной практике машинного обучения и data science доля «магии» моделей — процентов 10–20. Остальное:
✅ Очистка данных (пропуски, выбросы, баги в логах)
✅ Построение признаков (особенно если данные табличные)
✅ Корректная постановка задачи (что вообще нужно: классификация? ранжирование?)
✅ Проверка данных на утечку или data leakage
✅ Разработка пайплайна для inference
✅ Оценка на offline и онлайн метриках
✅ Мониторинг модели на проде (модели деградируют, и часто незаметно)
Если вы работаете с LLM — то здесь «грязная работа» переезжает в другие места:
✅ Подбор и генерация промтов
✅ Выбор правильного контекста (RAG)
✅ Обработка нестабильных ответов
✅ Постобработка текста
✅ И опять же — валидация, оценка, сбор фидбека
Модели важны, но... чаще всего «достаточно хорошие» уже есть.
Большинство задач в проде не требуют state-of-the-art: достаточно стабильной, воспроизводимой модели, которая работает лучше, чем бизнес-правила.
Модель — это не цель, а инструмент. Иногда даже логистическая регрессия лучше, чем сложная нейросеть (если её проще объяснить и внедрить).
🔄 А вот тот эффект обратной связи — это не миф:
Пример: вы обучили рекомендательную модель на старых данных → модель начала влиять на поведение пользователей → данные изменились → старая метрика уже не отражает качество → вы обновляете модель на новых данных → ещё больше смещений. Добро пожаловать в feedback loops.
Это очень частая история в проде.
👉 А у вас так же? Сколько процентов времени уходит на работу с данными, а не с моделями?
Библиотека дата-сайентиста #междусобойчик
Я читал, что в реальных проектах по AI основная работа — это не модные модели, а банальная подготовка данных: удаление пропусков, нормализация, фичи, постановка задачи.
Кто-то ещё писал, что с приходом LLM'ов «prompt engineering — это новое программирование».
Это реально так? Или в индустрии всё ещё крутятся вокруг алгоритмов?
В реальной практике машинного обучения и data science доля «магии» моделей — процентов 10–20. Остальное:
Если вы работаете с LLM — то здесь «грязная работа» переезжает в другие места:
Модели важны, но... чаще всего «достаточно хорошие» уже есть.
Большинство задач в проде не требуют state-of-the-art: достаточно стабильной, воспроизводимой модели, которая работает лучше, чем бизнес-правила.
Модель — это не цель, а инструмент. Иногда даже логистическая регрессия лучше, чем сложная нейросеть (если её проще объяснить и внедрить).
🔄 А вот тот эффект обратной связи — это не миф:
Пример: вы обучили рекомендательную модель на старых данных → модель начала влиять на поведение пользователей → данные изменились → старая метрика уже не отражает качество → вы обновляете модель на новых данных → ещё больше смещений. Добро пожаловать в feedback loops.
Это очень частая история в проде.
👉 А у вас так же? Сколько процентов времени уходит на работу с данными, а не с моделями?
Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4💯1
🧠 Генеративные модели: будущее науки или оружие дезинформации
Сегодня генеративные нейросети умеют создавать тексты, изображения, аудио и видео, практически неотличимые от реальных. GPT, DALL·E, Sora, StyleGAN — эти технологии открывают перед человечеством огромные научные перспективы… но вместе с ними и новые риски.
Возможности:
✅ Автоматизация научных открытий
✅ Генерация синтетических данных для обучения моделей
✅ Помощь в программировании, анализе текстов и данных
✅ Поиск и формулировка научных гипотез
✅ Разработка лекарств и новых материалов
Угрозы:
➡️ Deepfake-контент и фейковые аудиозаписи
➡️ Генерация недостоверной информации и псевдонауки
➡️ Снижение доверия к подлинным источникам
➡️ Отсутствие прозрачности в происхождении данных
➡️ Этические и правовые вызовы
Что делать
Важно развивать не только технологии, но и инфраструктуру доверия: цифровую маркировку контента, прозрачные модели, фильтрацию, этические рамки.
Возможно, будущее потребует и нового уровня цифровой грамотности и критического мышления.
📣 А как Вы считаете: генеративный ИИ — это инструмент прогресса или угроза для общества?
❤️ — Безусловно, инструмент прогресса
👍 — Скорее угроза, чем польза
Библиотека дата-сайентиста #междусобойчик
Сегодня генеративные нейросети умеют создавать тексты, изображения, аудио и видео, практически неотличимые от реальных. GPT, DALL·E, Sora, StyleGAN — эти технологии открывают перед человечеством огромные научные перспективы… но вместе с ними и новые риски.
Возможности:
Угрозы:
Что делать
Важно развивать не только технологии, но и инфраструктуру доверия: цифровую маркировку контента, прозрачные модели, фильтрацию, этические рамки.
Возможно, будущее потребует и нового уровня цифровой грамотности и критического мышления.
📣 А как Вы считаете: генеративный ИИ — это инструмент прогресса или угроза для общества?
❤️ — Безусловно, инструмент прогресса
👍 — Скорее угроза, чем польза
Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4👏1🌚1