Библиотека собеса по Data Science | вопросы с собеседований
Ir al canal en Telegram
Вопросы с собеседований по Data Science и ответы на них. Курс по Ai-агентам: https://clc.to/9L0Tqg По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/7dfb7235 Для обратной связи: @proglibrary_feeedback_bot
Mostrar más4 490
Suscriptores
+324 horas
+87 días
+4230 días
Archivo de publicaciones
Repost from Proglib.academy | IT-курсы
🐍✨ Пиши как профи: 10 Python-лайфхаков для новичков
Лайфхаки от разработчиков, обжёгшихся до вас
➡️ Что вас ждет внутри:
— почему if x == True: — это преступление
— как списковые включения экономят часы
— зачем линтер важнее кофе
— и почему def func(start_list=[]) может испортить тебе вечер
— как не сойти с ума от зависимостей (и что делать с виртуальными окружениями)
— секретный power move: dir(), help() и другие встроенные суперсилы
И всё это без занудства и «книг для чайников». Просто, по делу, с примерами и личным опытом от бывалых питонистов
📎 Статья
🔵 Начинайте свой путь в программировании и прокачивайте свои навыки с нашим курсом «Основы программирования на Python»
Proglib Academy #буст
❓ Как PCA работает с пропущенными значениями в данных
Метод главных компонент (PCA) сам по себе не умеет обрабатывать пропущенные значения — ему нужны полные строки данных для вычисления ковариационной матрицы или проведения SVD.
Однако есть несколько способов обойти это ограничение:
🔹 Удаление неполных строк (listwise deletion): самый простой вариант — убрать все строки с пропущенными значениями. Но это может сильно сократить объем данных и исказить результат, особенно если данные пропущены не случайно.
🔹 Импутация: замена пропусков на среднее, медиану, значения ближайших соседей (KNN) или с помощью более сложных статистических моделей. После этого можно применять стандартный PCA. Качество результата сильно зависит от точности импутации.
🔹 Expectation-Maximization PCA: специальная итеративная техника, которая попеременно оценивает пропущенные значения и обновляет компоненты PCA. Этот метод сложнее, но может дать более точные результаты, чем обычная импутация.
🔹 Robust PCA / матричное дополнение: альтернативные методы, подходящие для больших и структурированных наборов данных. Они способны восстанавливать недостающие элементы с сохранением низкоранговой структуры, аналогичной PCA.
⚠️ Важно: любой из этих подходов может внести искажения. Если пропущено слишком много данных, или пропуски носят систематический характер, то результат PCA может быть некорректным.
Библиотека собеса по Data Science
🔥 IT Breaking Memes — 30 000 ₽ за самую смешную IT-новость
Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🏆 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
Пример:
Реальная новость: «Гугл создала модель для общения с дельфинами».
Смешная альтернатива: «Нейросеть от Гугл обрабатывает видеопоток с камеры в свинарнике. ИИ следит, сколько свинья находится возле кормушки, не отталкивают ли ее собратья. Недокормленных докармливают, а переевшие пропускают следующую кормешку».
📅 Сроки: с 29 апреля по 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Ждем ваших новостей!
❔ Какими методами можно интерпретировать сложные модели, например, случайные леса или нейронные сети
Интерпретация сложных моделей требует специальных подходов, так как в отличие от простой логистической регрессии у них нет очевидных коэффициентов:
1️⃣ Feature Importance — метод оценки важности признаков. В деревьях отслеживается, насколько каждый признак снижает неопределенность (impurity) при разбиениях.
2️⃣ Partial Dependence Plots (PDPs) — графики зависимости, которые показывают, как меняется прогноз модели при изменении одного признака, усредняя влияние остальных.
3️⃣ LIME (Local Interpretable Model-Agnostic Explanations) — создает локальные приближённые модели вокруг отдельных предсказаний для объяснения, как конкретный результат был получен.
4️⃣ SHAP (SHapley Additive exPlanations) — использует идеи теории игр, чтобы справедливо распределить вклад каждого признака в конкретное предсказание.
Библиотека собеса по Data Science
❓ Зачем в нейронных сетях используется техника label smoothing
Label smoothing — это техника регуляризации, при которой вместо подачи на выход модели «жестких» меток (например, [0, 0, 1, 0]) используют «размягчённые» метки (например, [0.01, 0.01, 0.96, 0.01]).
Это снижает переуверенность модели в своих прогнозах: модель учится не делать слишком уверенные предсказания даже на обучающих данных.
Главные преимущества:
📝 Улучшение обобщающей способности (меньше переобучение).
📝 Меньшая склонность к переуверенности в своих ошибках.
📝 Иногда помогает добиться более высокой точности, особенно на задачах классификации с большим числом классов.
Техника особенно эффективна, когда есть шум или множество похожих классов.
Библиотека собеса по Data Science
👌 Как правильно инициализировать центроиды в k-means, чтобы не застрять в плохом локальном минимуме
Простая случайная инициализация (выбор
k случайных точек из данных) может привести к плохому результату, особенно если точки окажутся слишком близко друг к другу или не отражают структуру данных.
🔥 Лучшее решение — использовать алгоритм k-means++
Он работает так:
1. Сначала выбирается одна случайная точка из данных.
2. Далее каждый следующий центр выбирается с вероятностью, пропорциональной квадрату расстояния до ближайшего уже выбранного центра.
Такой подход равномерно распределяет центры и уменьшает риск плохой сходимости. В большинстве случаев он ещё и ускоряет обучение.
💡 В сложных случаях (например, потоковые данные или неустойчивое распределение) можно использовать:
— Инициализацию на основе иерархической кластеризации.
— Несколько прогонов с разными начальными условиями и выбор лучшего результата по ошибке.
Библиотека собеса по Data Science❓ Как объяснить коэффициенты логистической регрессии без технических деталей
💡 Представим так:
У нас есть модель, которая помогает понять — произойдёт ли какое-то событие. Например: купит ли человек товар, кликнет ли на рекламу или подпишется на рассылку.
Каждый признак (фактор) — это как один из аргументов «за» или «против» исхода. У каждого есть своя «весомость» — коэффициент:
➡️ Если коэффициент положительный — этот фактор повышает шанс, что событие произойдёт.
➡️ Если отрицательный — наоборот, снижает вероятность.
⭐ Чем больше по модулю число — тем сильнее влияние этого фактора.
Чтобы понять, насколько фактор влияет, можно посмотреть на
exp(коэффициент) — это показывает, во сколько раз увеличиваются шансы.
▶️ Например:
Если exp(коэффициент) = 1.5, это значит: каждый дополнительный «балл» этого признака повышает шансы на 50%.
Библиотека собеса по Data Science🕵️♂️ Как обнаружить мошеннические транзакции с помощью GMM
В основе — Gaussian Mixture Model: она моделирует распределение данных как смесь нескольких многомерных нормальных распределений. У каждого — своё среднее значение и ковариационная матрица.
⚙️ Модель обучается с помощью алгоритма EM (Expectation-Maximization). После обучения она рассчитывает апостериорные вероятности — насколько транзакция вписывается в каждый из компонентов смеси.
📉 Если транзакция имеет низкую вероятность по всем компонентам, GMM считает её аномальной — потенциально мошеннической.
🎯 Подход особенно полезен в условиях, где трудно собрать размеченные данные, но важно ловить аномалии: финтех, страхование, кибербезопасность.
Библиотека собеса по Data Science
🔍 Как выбрать дискретные значения гиперпараметров для Grid Search
Grid Search требует заранее задать набор значений для каждого гиперпараметра, поэтому важно сбалансировать ширину и глубину поиска.
Обычно значения выбираются на основе:
👉 Опытных предположений или предварительных экспериментов.
👉 Понимания масштаба параметра: например, для learning rate лучше использовать экспоненциальную шкалу (0.001, 0.01, 0.1), так как он сильно влияет на обучение.
👉 Стандартных шаблонов: число нейронов в слоях часто варьируют степенями двойки (64, 128, 256), чтобы не распыляться на мелкие изменения.
🙅♂️ Если задать слишком много значений, общее число комбинаций быстро растёт, и поиск становится дорогим. Слишком мало — можно пропустить хорошие настройки.
✔️ Поэтому обычно начинают с грубого поиска (coarse grid), а затем уточняют диапазоны вокруг лучших значений.
Библиотека собеса по Data Science
🤔 Могут ли skip-соединения мешать обучению в неглубокой нейросети
Да, если сеть слишком мелкая, skip-соединения могут ослабить мотивацию для глубоких слоёв учиться извлекать сложные признаки. Поскольку информация может легко «перепрыгивать» через слои по пути тождественности, модель может просто передавать входы напрямую к выходу — и недообучиться.
➡️ Такой эффект особенно заметен, если задача требует сложных преобразований. Решение: можно добавить «управление» потоком по skip-пути — например, с помощью гейтов или 1x1-сверток.
➡️ Если вы замечаете, что сеть не учит ничего полезного — попробуйте временно отключить skip-соединения, посмотреть на активации по слоям, или усилить регуляризацию (dropout, weight decay). Это может помочь сети начать извлекать более глубокие представления.
Библиотека собеса по Data Science
❓ Как размер батча взаимодействует с Batch Normalization и может ли он негативно повлиять на статистику слоя
При использовании слоёв Batch Normalization среднее значение и дисперсия обычно вычисляются по каждому мини-батчу.
🟧 Если размер батча слишком маленький, вычисленные средние и дисперсии могут быть очень шумными, что приводит к нестабильному обучению и плохой сходимости модели.
🟧 С другой стороны, если батч слишком большой, статистики становятся очень стабильными, но могут не отражать разнообразие подраспределений в данных. Это снижает способность модели быть устойчивой к изменениям распределения входных данных.
🔎 Тонкий момент — поведение модели при переходе в режим инференса. В этом режиме вместо статистик текущего батча используются накопленные скользящие средние. Если в процессе обучения использовались очень большие батчи, эти усреднённые значения могут оказаться слишком «узкими» и не охватывать полное распределение данных. В результате модель может плохо работать на реальных данных, распределение которых отличается от обучающего.
Библиотека собеса по Data Science
🔥 Завтра запускаем ML-ракету: последние места на борту
Уже завтра, 21 апреля, состоится наш воркшоп «Математика машинного обучения на практике», где теория ML превращается в практические навыки.
Что вас ждет:
📍 Работа с реальными данными — табличные датасеты и изображения
📍 Снижение размерности через PCA — научитесь отделять важное от второстепенного
📍 Обучение моделей — Random Forest и градиентный бустинг в действии
📍 Разбор метрик и гиперпараметров — как настроить модель на максимальную эффективность
📍 Написание кода на Python — прямо как реальных проектах
📍 Персональный code review от эксперта — бесценный фидбек для вашего роста
📍 Доступ в закрытый чат участников — нетворкинг и обмен опытом
Кто проводит воркшоп:
Мария Горденко — инженер-программист, старший преподаватель НИУ ВШЭ и Proglib Academy, руководитель магистратуры от ГК Самолет и Альфа-Банка.
Стоимость участия: 3990₽
Когда: завтра, 21 апреля
👉 Забронировать место на воркшопе: https://proglib.io/w/d295220d
❌ Как справиться с шумными валидационными сигналами при использовании Early Stopping
Сильные колебания валидационной метрики могут ввести алгоритм Early Stopping в заблуждение: обучение может остановиться слишком рано или, наоборот, продолжаться слишком долго. Один из способов справиться с этим — сглаживать метрику, усредняя её значения за несколько эпох перед принятием решения об улучшении или ухудшении.
Вот несколько подходов:
🟠Использовать скользящее среднее последних значений валидационных потерь или точности.
🟠Увеличить параметр patience, чтобы небольшие кратковременные отклонения не приводили к преждевременной остановке.
🟠Ввести порог улучшения, при котором прогресс считается значимым только при улучшении на заданную величину.
Важно не переусердствовать: слишком агрессивное сглаживание или большая терпимость могут скрыть реальные улучшения или замедлить реакцию на ухудшения.
В реальных условиях нужно искать баланс между чувствительностью к изменениям и устойчивостью к шуму.
Библиотека собеса по Data Science
Repost from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
❓ Зачем дата-сайентисту дисперсия
Дисперсия — ключевой статистический показатель, который помогает оценить изменчивость данных. Для дата-сайентистов она критична при:
👉 Оценке и интерпретации результатов моделей
👉 Понимании поведения алгоритмов машинного обучения
👉 Снижении ошибок при построении предсказаний
В этой статье разберём, как правильно использовать дисперсию в Data Science и как она влияет на работу алгоритмов, например, в модели Random Forest.
👉 Читайте, чтобы понять, как измерять и учитывать дисперсию: https://proglib.io/sh/GDKYJQdAI2
Библиотека дата-сайентиста
❓Как выбрать между filter, wrapper и embedded методами отбора признаков
⏩ Filter-методы — быстрые и простые. Подходят для предварительного отбора признаков, особенно когда нужно быстро уменьшить размерность до дальнейшего анализа.
⏩ Wrapper-методы — более точные, но затратные по вычислениям. Используются, когда важна максимальная производительность модели, и есть ресурсы на перебор комбинаций признаков.
⏩ Embedded-методы — работают вместе с обучением модели. Удобны, если модель поддерживает регуляризацию (например, Lasso, Decision Trees), так как отбор признаков происходит прямо во время обучения.
На практике часто применяют комбинацию: сначала отфильтровывают явно нерелевантные признаки (filter), потом wrapper или embedded на отобранных признаках.
Библиотека собеса по Data Science
📉 Почему добавление новых данных иногда не улучшает качество модели
Если метрики перестают расти, возможны несколько причин:
➡️ Модель достигла предела своей емкости — она просто не может выучить больше, чем уже выучила.
➡️ Новые данные не добавляют полезной информации — они слишком похожи на то, что уже есть.
➡️ Данные содержат шум или ошибки в метках — добавление «плохих» примеров только ухудшает обучение.
➡️ Недостаточно мощная архитектура — текущая модель не способна уловить сложные зависимости.
В таких случаях лучше поработать над архитектурой, качеством данных или настройкой гиперпараметров, а не просто расширять выборку.
Библиотека собеса по Data Science
🚀 Приручи алгоритмы: из формул в код за один воркшоп
Готовы превратить сложную теорию машинного обучения в практические навыки? Тогда приходите на наш воркшоп, который пройдет 21 апреля.
Что вас ждет на воркшопе:
🟢 Работа с реальными данными — никаких учебных датасетов, только то, что встречается в настоящих проектах.
🟢Снижение размерности с PCA — научитесь выделять главное из информационного шума.
🟢Случайный лес vs градиентный бустинг — разберемся, в чём ключевое различие и когда какой алгоритм эффективнее.
🟢Мастерство гиперпараметров — освоите тонкую настройку моделей для максимальной точности.
На нашем воркшопе вы не просто слушаете — вы делаете сами! Вы будете писать код на Python, применять популярные библиотеки и сразу видеть результат своей работы.
А самое ценное: каждый участник получит персональный code review от Марии Горденко — инженера-программиста, старшего преподавателя НИУ ВШЭ, руководителя магистратуры от ГК Самолет и Альфа-Банка.
⏰ Когда: 21 апреля
💸Стоимость: всего 3990₽
Только сегодня, до конца дня: 10 мест по промокоду kulich → 2 990 ₽.
➡️ Записаться на воркшоп: https://proglib.io/w/d295220d
🔥 Почему определённые схемы инициализации весов помогают бороться с затухающими градиентами
Подходы вроде Xavier (Glorot) и Ге специально подбирают начальные веса так, чтобы сохранять дисперсию активаций и градиентов на разумном уровне при прохождении данных через слои.
➡️ Xavier (Glorot) инициализация рассчитана на линейные или сигмоидные активации. Она балансирует дисперсию между входами и выходами слоя.
➡️ Ге инициализация подходит для ReLU-подобных функций и учитывает, что ReLU «отбрасывает» половину входов (всё, что меньше нуля), поэтому она использует чуть большую дисперсию.
Идея в том, чтобы избежать слишком маленьких или больших значений активаций, которые приводят к затухающим или взрывающимся градиентам соответственно. Если веса слишком малы — градиенты быстро обнуляются при обратном распространении. Если слишком велики — градиенты начинают «взрываться».
❗️Если используется нестандартная функция активации или сложная архитектура, стандартные схемы инициализации могут не подойти. Их нужно адаптировать, иначе можно снова столкнуться с затухающими/взрывающимися градиентами.
Библиотека собеса по Data Science
Repost from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🧮 Как избежать ловушки округления в Power BI
Твой отчет показывает разные цифры при одинаковой логике? Не спеши винить систему – это классический кейс с округлением в Power BI.
👊 Разбираемся, как типы данных влияют на точность и почему Currency может стать твоим врагом.
➡️ Подробнее в статье: https://proglib.io/sh/TcGmatdgNV
Библиотека дата-сайентиста
❓ Чем отличается стандартный автоэнкодер от вариационного автоэнкодера (VAE), и в каких случаях стоит использовать VAE
Стандартный автоэнкодер (AE) и вариационный автоэнкодер (VAE) оба используют нейросети для сжатия данных (в латентное пространство) и последующего восстановления. Однако у них разный подход к латентному пространству и цели:
🟠 Автоэнкодер (AE)
— Детерминированный: каждый вход x преобразуется в фиксированный вектор z
— Цель — минимизировать ошибку реконструкции (например, MSE)
— Применения: сжатие данных, устранение шума, понижение размерности
— Ограничения: латентное пространство может быть неструктурированным, генерация новых данных — затруднена
🟠 Вариационный автоэнкодер (VAE)
— Стохастический: вместо одного z модель выдает параметры распределения (обычно гауссианского), из которого семплируется z
— Цель — максимизировать вариационную нижнюю границу (ELBO), включающую: ошибку реконструкции, KL-дивергенцию
— Плюсы: латентное пространство структурировано, можно генерировать новые осмысленные примеры, просто семплируя z из N(0,1)
— Применения: генерация изображений, data augmentation, работа с отсутствующими данными
🟠 Когда использовать VAE вместо AE
— Когда нужна генерация новых данных (например, изображений)
— Когда важно иметь регуляризированное латентное пространство
— Когда модель должна обобщать, а не просто копировать вход
— В задачах, где важна интерпретируемость или контроль над сгенерированными объектами
Библиотека собеса по Data Science
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
