Библиотека собеса по Data Science | вопросы с собеседований
4.31K subscribers
442 photos
10 videos
1 file
459 links
Вопросы с собеседований по Data Science и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/7dfb7235

Для обратной связи: @proglibrary_feeedback_bot

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
➡️ В вашей задаче класс «положительный» встречается крайне редко. Модель даёт 99% accuracy — но приносит ноль пользы.

Это ситуация дисбаланса классов, и такая высокая accuracy — иллюзия: модель просто всегда предсказывает «отрицательный» класс.

Важно:
➡️ Перейти к метрикам, чувствительным к редкому классу: F1, precision/recall, ROC AUC, PR AUC.
➡️ Попробовать балансировку: undersampling/oversampling, генерация данных (например, SMOTE).
➡️ Использовать взвешенные лоссы или кастомные метрики, чтобы усилить «наказание» за ошибки на редком классе.
➡️ Рассмотреть другой подход — например, не классификацию, а ранжирование, если цель — находить top-N полезных примеров.
➡️ Проконсультироваться с бизнесом: возможно, важна high precision, а recall можно жертвовать — или наоборот.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍1
📈 Как вы будете оценивать качество модели, если у вас нет доступных «истинных» меток в продакшене

Это реальная проблема во многих продуктах — например, в рекомендательных системах, предсказаниях отмен заказов, финансовом скоринге и т.п.

Возможные подходы:

▶️ Делayed feedback: использовать метки, которые появляются с задержкой. Всё равно сохраняем предсказания и «догоняем» оценку позже.

▶️ Прокси-метрики: если нет ground truth, можно использовать поведенческие сигналы — например, клик или отказ (proxy for relevance).

▶️ Shadow-модель: запускать модель параллельно с текущей системой и сравнивать предсказания, без воздействия на пользователя.

▶️ A/B-тестирование: запускать часть трафика на новую модель и измерять бизнес-метрики (конверсии, выручку и т.д.).

▶️ Сравнение распределений: можно следить за prediction drift — если распределение выходов резко отличается от обучающего, это может быть сигналом о деградации.

▶️ Модель доверия: обучить вторую модель, которая предсказывает вероятность ошибки основной — своего рода safety layer.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
👉 Как бы вы поступили, если ваша модель показывает хорошие метрики, но бизнес-цель при этом не улучшается

Возможные причины и действия:

Неверные метрики: может быть, оптимизируется surrogate-метрика (например, ROC AUC), которая слабо коррелирует с бизнес-результатом.
→ Перейти к метрикам, отражающим бизнес (uplift, ROI, precision@top-K).

Неправильная точка принятия решения: модель даёт предсказания, но downstream-система их игнорирует или использует неправильно.
→ Проверить интеграцию: как именно модель влияет на решение.

Неверная целевая функция: возможно, модель обучена на задачу, которая не связана напрямую с целью (например, клик ≠ покупка).
→ Пересмотреть target или изменить бизнес-логику.

Эффект на поведение: модель меняет поведение пользователей так, что в итоге это ухудшает метрику (например, слишком агрессивная рекомендация вызывает отток).
→ Провести A/B-тест и анализ пост-эффектов.

Библиотека собеса по Data Science
4👍1🔥1
Как вы поймёте, что модель недостаточно сложна для вашей задачи, если при этом нет явных признаков недообучения по метрикам

Обычно недообучение проявляется через низкие метрики на тренировке и валидации. Но бывает, что метрики неплохие, а модель не захватывает важные зависимости.

Это может быть критично, особенно если:

Плохая способность к обобщению на сложные случаи
Например, модель уверенно справляется с типовыми примерами, но ошибается на edge cases, редких или более сложных подгруппах данных.

Ошибки сконцентрированы в важной подвыборке
Например, модель плохо работает на новых регионах, продуктах или временных периодах.

Сильная зависимость от простых фичей
Даже при высокой точности, если модель полагается только на "легкие" корреляции (например, средние значения), она может игнорировать тонкие сигналы.

Модель плохо обучается на добавленных сложных признаках
Если после добавления нетривиальных фич метрики почти не растут, возможно, архитектура модели не позволяет использовать их эффективно.

Анализ ошибок вручную
Просмотр ошибок показывает систематические промахи в логике, а не шум.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😁21
➡️ Почему модель может демонстрировать высокое качество на offline-валидации, но всё равно проваливаться в A/B-тесте

Одна из частых причин — разрыв между тем, что измеряется в offline-метрике, и реальной бизнес-целью. Например, модель может хорошо предсказывать вероятность клика, но при этом ухудшать пользовательский опыт или уменьшать выручку, если неправильно влияет на поведение системы в целом.

Также A/B-тест чувствителен к особенностям внедрения: может меняться порядок рекомендаций, контекст показа, или даже то, как пользователи взаимодействуют с продуктом, что невозможно учесть в offline-оценке.

Кроме того, в offline-е модель часто тестируется на исторических данных, в то время как A/B работает с живыми пользователями, в динамике.

Поэтому расхождение между offline и online — это не ошибка, а естественное проявление того, что модель — это часть более широкой системы.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Зачем вообще понимать, как работает ML?

Сейчас многие просто запускают модельку в sklearn — и радуются точности 0.92.

Вроде всё работает… но почему?
А когда сломается — что делать?


Машинное обучение — это система, которую можно понять.

Если знаешь, что делает градиентный спуск, зачем нужен бустинг и как дерево принимает решения — ты не просто «запускаешь», ты управляешь моделью.

👉 Мы сделали курс, чтобы в это было реально въехать:

— без сложных формул;
— с интуитивными объяснениями;
— от простого к сложному.

Если хочешь перейти от «гуглю код» к «понимаю, как это работает» — ты по адресу!

Стартуем в сентябре — бронируй место на курсе уже сейчас
👍1
😊 Почему важно учитывать «cost asymmetry» при обучении модели, даже если метрики хорошие

Во многих прикладных задачах цена разных ошибок неравнозначна.

Например, в задаче обнаружения мошенничества ложноположительное срабатывание может раздражать клиента, но ложное отрицание — стоит компании денег. Даже если модель показывает хорошие значения precision, recall или F1, они могут не отражать реального ущерба.

Без учёта бизнес-контекста модель может быть «хорошей» в метриках и при этом вредной на практике. Поэтому при проектировании и оценке моделей важно не просто гнаться за числовыми показателями, а внедрять логику, которая соответствует реальной стоимости ошибок.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
🆕 Зачем анализировать не только финальные предсказания модели, но и её промежуточные представления (features, embeddings)

Промежуточные представления дают понимание того, как именно модель «видит» данные.

Иногда модель может давать правильные предсказания, но по неправильным причинам — например, полагаясь на артефакты или коррелирующие, но не причинно значимые признаки. Анализ внутренних слоёв, embeddings и attention-механизмов позволяет выявить такие ложные зависимости до того, как они станут проблемой в продакшене. Кроме того, визуализация или кластеризация представлений может подсказать новые инсайты о данных: скрытые сегменты, шум, смещения.

Это особенно ценно при работе с «чёрными ящиками» вроде глубоких нейросетей — заглянуть внутрь, чтобы понять, что модель действительно «учится», а не просто запоминает.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3
🫣 Боитесь математики в ML?

Думаете, для этого нужно вспоминать университетские интегралы и решать сложные уравнения?

У нас хорошая новость: машинное обучение — это в первую очередь инженерная практика, а не математическая олимпиада. Здесь важнее понимать суть, а не выводить формулы.

Именно на таком подходе — через логику, интуицию и наглядные примеры — и построен наш курс «ML для старта в Data Science», где мы объясняем всё на пальцах, без боли и зубрёжки.

Регистрируйтесь, пока есть свободные места 😉
💡 Как связаны ошибки первого и второго рода с precision, recall и ROC-кривой

Ошибки первого рода (ложноположительные) и второго рода (ложноотрицательные) напрямую отражаются в метриках:

➡️ Recall (чувствительность) — показывает, какую долю настоящих положительных случаев модель нашла. Повышая recall, мы уменьшаем ошибки второго рода, но можем увеличить ошибки первого рода — то есть начать «ловить» ложные срабатывания.

➡️ Precision (точность) — показывает, какую долю из предсказанных положительных случаев действительно являются таковыми. Чем выше precision, тем меньше ошибок первого рода.

➡️ ROC-кривая отображает компромисс между True Positive Rate (Recall) и False Positive Rate (ошибка первого рода) при разных порогах. Она помогает выбрать рабочую точку модели в зависимости от цены каждой из ошибок.

📌 Важно: выбор между precision и recall зависит от задачи. В медицине критичнее не пропустить заболевание (минимизировать ошибку второго рода), а в спаме — не ошибаться с лишними срабатываниями (ошибки первого рода).

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Как можно встроить экспертные знания о задаче в Bayesian-подход к тюнингу гиперпараметров

В Bayesian optimization доменные знания можно внедрить через задание информативных априорных распределений и стартовых точек:

🟠 Ограничение диапазонов — если известно, что в вашей области обучения эффективные learning rate находятся в узком интервале, априор можно задать не равномерным, а суженным (например, log-uniform в пределах, где вы ожидаете хорошие результаты).

🟠 Warm-start — добавить в начальный набор экспериментов уже успешные конфигурации, чтобы модель-заместитель сразу получила полезную информацию о ландшафте гиперпараметров.

🟠 Специализированная модель-заместитель — вместо стандартного Gaussian Process использовать модель, отражающую корреляции между гиперпараметрами (например, объединяя родственные типы регуляризации в иерархию).

💡 Подводный камень: чрезмерно «узкие» или слишком уверенные априоры могут зафиксировать поиск в локальном оптимуме. Даже с сильными предположениями полезно сохранять некоторую степень случайного исследования пространства.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3
🧐 Зоопарк моделей в ML: с чего начать?

Открываешь статью по машинному обучению — и в тебя летят слова: трансформеры, бустинги, SVM, регрессии.

Кажется, придётся учить всё это, иначе в ML не пустят.

Хорошая новость: 90% задач можно закрыть 2–3 классическими методами. Разберёшь их — уже сможешь собирать работающие проекты. А хайповые названия подождут.

Важно: не распыляйся на всё подряд. Начни с базового — это фундамент, на котором держится остальное.

👉 Успей попасть на курс «ML для старта в Data Science»
👉 Как интегрировать несупервизорные или self-supervised сигналы в потоковой обработке данных, если метки приходят с задержкой или доступны частично

В таких условиях модель не должна простаивать, пока ждёт разметку — можно использовать несколько стратегий:

Self-supervised задачи — для текста (маскированное предсказание токенов) или изображений (контрастивное обучение) модель может подстраиваться к новым распределениям данных без явных меток, постепенно улучшая представления.

Буферизация с дообучением — хранить необмеченные данные, частично дообучать модель на self-supervised или старых размеченных данных, а после получения меток выполнять полное обновление.

Инкрементальное кластеризование — алгоритмы вроде online k-means или потоковых версий DBSCAN позволяют отслеживать появление новых кластеров (концепт-дрифт) и адаптировать модель ещё до появления меток.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👇 Как выявлять и обрабатывать концептуальный дрейф (concept drift) в потоковых данных

Когда распределение входных данных или целевой переменной меняется со временем, модель начинает деградировать. Чтобы минимизировать ущерб:

➡️ Мониторинг статистик — отслеживать метрики качества и распределения признаков, использовать тесты вроде K-S или PSI.

➡️ Скользящее окно обучения — хранить только последние N наблюдений и регулярно дообучать модель.

➡️ Адаптивные алгоритмы — применять модели, которые сами подстраиваются под новые данные (например, online gradient descent или адаптивные леса).

➡️ Гибридные ансамбли — совмещать несколько моделей с разными “возрастами” данных, постепенно замещая устаревшие.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
2