EasyData
901 subscribers
145 photos
10 videos
22 files
75 links
Добро пожаловать!
Меня зовут Мария Жарова, и это мой блог про науку о данных

Лайфхаки из будней MLщика, полезности по Data Science и ответы на вопросы, которые волнуют новичков и не только🌝

Автор @NaNCat
Download Telegram
Привет, друзья!
Пришло время подводить итоги прошлых задачек для разминки по Python. Ниже разбор правильных ответов⚠️

1.
print(magic_func(25)) # [50]
print(magic_func(30)) # [50, 55]

Причина в том, что аргумент lst=[] - изменяемый объект. Он сохраняется между вызовами функции. Поэтому при втором вызове к списку добавляется второй элемент.

2.
print(extend_list(1)) # [1]
print(extend_list(2)) # [1, 2]
print(extend_list(3, [])) # [3]
print(extend_list(4)) # [1, 2, 4]

Демонстрация того же эффекта, что и в прошлом задании: используем изменяемый аргумент по умолчанию - список lst. Он сохраняет своё состояние между вызовами, если не передать другой. В третьем вызове передан новый список, поэтому результат уже не связан с предыдущими:)

3.
d = {1: 1, 1.0: 1.0, '1': '1', True: True}
print(d) # {1: True, '1': '1'}

Ключи 1, 1.0 и True считаются равными в словаре, потому что 1 == 1.0 == True (можете проверить это отдельно). Поэтому остаётся последний по порядку ключ из этой группы (True), и он перезаписывает предыдущие.

4.
print(tricky_or([], 'fallback')) # 'fallback'
print(tricky_or({}, 0)) # 0
print(tricky_or('', None)) # None

Оператор or возвращает первое "истинное" значение или последнее, если все ложные. [], {}, '' считаются ложными, 'fallback' - истинное, 0 и None - тоже ложные, но 0 возвращается, потому что он второй аргумент. По аналогии можете подумать, как ведет себя в подобных ситуациях and.

5.
print(x == y) # True
print(x is y) # False

== сравнивает значения, по этому принципу списки равны. is сравнивает идентичность объектов - а у нас два разных списка в памяти, находящихся по разным адресам.

6.
a = 256
b = 256
print(a is b) # True

a = 257
b = 257
print(a is b) # False

Числа от -5 до 256 кэшируются в Python, и переменные с такими значениями могут ссылаться на один и тот же объект. Значения вне этого диапазона не кэшируются, поэтому a is b даёт False.

Кто верно догадался во всех задачах - ставьте 😇

Успехов в диалогах с питоном!🐍

#python@data_easy
9👍4😇1
Привет, друзья!

Сегодня поговорим про Numba - инструмент, который превращает обычный Python-код в "почти C" по скорости🏃‍♂️

Numba - это JIT-компилятор (Just-In-Time) для Python. Если вкратце, то он анализирует функции и компилирует их в машинный код прямо во время исполнения. То есть, вместо интерпретируемого Python код исполняется как скомпилированный.

Воспользоваться возможностями Numba крайне легко - нужно просто добавить декоратор @njit к функции, и всё! 🧑‍💻

@njit
def sigmoid_numba(x):
return 1 / (1 + np.exp(-x))


Но пара нюансов всё же есть:
➡️ Во-первых, не все операции могут быть ускорены таким способом. Общий рецепт таков: "чем проще и численно интенсивнее функция, тем лучше". Вот несколько типичных примеров, которые хороши для Numba:
1. численные циклы (циклы for, while)
2. операции с массивами numpy
3. алгоритмы оптимизации, матричные вычисления
4. генерация чисел и математические функции (sin, exp, sqrt, и т.д.)
5. фильтрация, агрегация и другие различные манипуляции над массивами
6. простые симуляции (например, метод Монте-Карло)

➡️ А во-вторых, при первом запуске функция с Numba может работать даже медленнее обычной Python-версии🙂 Всё потому, что в первый раз Numba не просто выполняет код, а сначала компилирует его в машинный код - и это занимает время. Но уже со второго вызова скомпилированный вариант готов и работает в разы быстрее, как настоящий нативный код.

А насколько быстрым получается код с добавлением Numba - смотрите на скринах:) Замеры проведены на втором запуске😉

Документация библиотеки +:
➡️ с список Python-операций, которые могут быть ускорены
➡️ с аналогичный список для Numpy-функций

Хорошей недели и гармоничных распределений! ☀️

#python@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥159👍5
Привет, друзья!
Держите небольшую, но максимально эффективную подборку ресурсов для подготовки к собеседованиям по Data Science: практические задачи с ML-спецификой, вопросы от FAANG и полезные чек-листы👇

🔠 StrataScratch
Платформа с практическими задачами на SQL, Pandas, Polars и PySpark. Вопросы собраны из интервью реальных компаний (Amazon, Google, Lyft и др.). Можно фильтровать по уровню сложности и компании, а код исполняется прямо в браузере. Задачи есть как на выборку данных, так и на аналитическое мышление, манипуляции с датами, оконные функции и многое-многое другое!

🔠 DataLemur
Этот сайт для отработки чисто SQL-навыков. Все задачи делятся по темам (JOIN, агрегаты, оконные функции...), по сложности и по компаниям. Встроенный SQL-редактор позволяет сразу проверять решение. Есть подсказки, подробные разборы, статистика по сложности и рейтинг задач. И в отличие от sql-ex.ru с гораздо более современным интерфейсом и интересными задачами😁

🔠 Extremesarova/ds_resources (github)
Большой список ресурсов по всем темам для подготовки: Python, статистика, машинное обучение, SQL, A/B‑тесты, product sense, system design. Есть ссылки на видео, статьи, тренажёры и шаблоны. Удобно использовать как базу знаний или дорожную карту перед собеседованием.

🔠 alexeygrigorev/data-science-interviews (github)
Ещё один полезный чек-лист: краткая и чёткая структура по темам, которые часто встречаются на интервью. Плюс есть ссылки на полезные книги, туториалы и примеры вопросов. Особенно приятно, что есть разделы про системный дизайн и поведенческие интервью именно для DS.

А какие ресурсы нравятся вам? Может, есть любимые тренажёры или подборки, которые прокачали вас перед интервью? Поделитесь в комментариях😊

Успешной подготовки и уверенности на собесах! 💪

#карьера@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥168🤩5👍2
Привет, друзья!
Совместно с коллегами из МФТИ выпустили статью на Хабре: как линал помогает заглянуть внутрь ML-моделей и понять, как они работают ♾️

Материал больше для новичков, но если слова "матрицы", "ранги", "сингулярные разложения" до сих пор вызывают зевоту или панику - вам сюда😉

Никаких формальных доказательств и заумных выкладок. Только:
💙 наглядные примеры,
💙 визуализации,
💙 реальные кейсы с понятными объяснениями.

#математика@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥10🤩4
Привет, друзья!
На небосклоне LLM новая восходящая китайская звезда: модель Kimi-K2 от Moonshot AI. Пока OpenAI и Google заняты гонкой за универсальными AGI (Artificial general intelligence), команда из Пекина делает ставку на производительность внутри диалога - и судя по всему, у них это неплохо получается!

🫤 Что такое Kimi-K2?
Kimi-K2 — это улучшенная LLM, похожая на DeepSeek-v3. Но Kimi-K2 - это не просто "следующая улучшенная версия", а модель, натренированная с прицелом на самостоятельное решение комплексных, многошаговых задач в реальных сценариях: она уточняет детали у пользователя, планирует шаги, кодит, анализирует и доводит дело до конца.

В официальном посте от разработчиков можно увидеть, как Kimi-K2 решает многосоставные задачи полностью и самостоятельно:
Собирает академическую родословную Stanford NLP: парсит данные, исследует карьеры выпускников, анализирует метрики влияния и строит интерактивный 3D-граф.
Планирует поездку на концерт: подбирает билеты, жильё, транспорт, сверяется с календарём и формирует отчёт.
Анализирует зарплаты и удалёнку: проводит статистический анализ с interaction effects, визуализациями и выводами.
Пишет веб-версию Minecraft: от архитектуры до hand-drawn текстур и генерации мира.
...
Главное - модель сама уточняет, планирует, кодит, анализирует и визуализирует, превращаясь из LLM в полноценного многошагового агента.

🫤 А технические детали?
У модели 1 трлн параметров, из которых 32 млрд активных, контекстное окно 128 тыс. токенов, веса можно скачать на Hugging Face😏
Насчёт обучения - pretrain + align (SFT + RLHF) + оптимизация плавности в диалоге.
И ключевой фокус на улучшение именно диалогового поведения, а не просто BLEU или accuracy.

🫤 Что это значит для нас?
Kimi-K2 - это пример LLM, фокусированной не на абстрактном интеллекте, а на конкретном опыте пользователя.
И это мощный тренд! Возможно, впереди нас ждёт эра не универсальных AGI, а практичных LLM-компаньонов, ориентированных на задачи конкретных профессий 😏

🫤 Ещё раз все ссылки:
🔗 репозиторий на GitHub
🔗 официальная статья с примерами, бенчмарками и другими деталями
🔗 веса на Hugging Face
🔗 НУ И САМОЕ ГЛАВНОЕ - попробовать модель можно ТУТ (главное сразу включить слева снизу Language=English ну или сделать автоперевод:)) На русском модель отлично отвечает!

Кто уже протестировал - как впечатления?

#полезный_ии@data_easy
#nlp@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👏41
Привет, друзья!
Совпадение или нет, но последняя неделя посвящена китайским LLM 🫢 На этот раз новость ещё более актуальная для программистов

Сегодня вышел Qwen3-Coder - и судя по отчётам, это один из самых мощных open-source кодеров на текущий момент. Новая модель от Alibaba - серьёзный конкурент для DeepSeek-Coder, Claude-Sonnet, GPT-4 и даже недавно вышедшей Kimi-K2 в задачах генерации и понимания кода. Ещё из плюсов: всё открыто и бесплатно😏

🤖 Что такое Qwen3-Coder?
Это серия LLM, заточенных именно под программирование. Они обучены на коде, документации, инженерных задачах и issue-тредах. В отличие от general-purpose LLM, Qwen3-Coder понимает разработку по-настоящему - от Python и C++ до frontend-а и devops-скриптов.

🤖 У самой эффективной модели в линейке:
- 480 млрд параметров, из которых активных 35 млрд
- контекст до 256k токенов напрямую и до 1 млн с помощью экстраполяций🤯
- обучена на свежем коде и диалогах разработчиков
- может читать, писать и рефакторить большие проекты, а не просто отвечать на мелкие вопросы

В демо модель решает наши стандартные задачи: распознаёт и комментирует код, предлагает правки, пишет unit-тесты, пайплайны, CI/CD-сценарии, отвечает как StackOverflow...

🤖 Ссылки:
- Репозиторий на GitHub
- Официальный блог-пост с метриками, параметрами и инструкциями по запуску (можно легко всё подключить через терминал)
- Протестировать модель ТУТ

PS: тем временем почти неделю жду, когда пришлют демо-доступ к KIRO 👊

#полезный_ии@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👏21
Привет, друзья!
В DS-задачах часто важно не только получить точное предсказание модели, но и понять, как именно каждый признак влияет на результат. А простые встроенные методы оценки feature importance часто показывают лишь общее влияние, не раскрывая деталей и взаимодействий между признаками 🤷‍♀️

Зато есть мощная библиотека SHAP - она позволяет объяснять предсказания любой классической модели, давая детальные и справедливые оценки вклада каждого признака в конкретное предсказание. SHAP-значения основаны на теории игр и помогают понять не только важность, но и направление влияния признаков (подробнее про них тут и в colab😉).

В карточках листайте примеры основных возможностей SHAP, а в уже упомянутом ноутбуке - какими командами всё это построить на питоне 🐍

🔗 Ещё полезные ссылки для изучения SHAP:
- Официальная документация
- Репозиторий на GitHub
- Статья с обзором и более глубокой теорией

Откройте черный ящик моделей 😁

#classic_ml@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥134🐳1
Привет, друзья!
Вы не раз спрашивали в комментариях про книги по Deep Learning, и, как оказалось, про это у нас ещё не было поста… Исправляем эту оплошность! Сохраняйте подборку - будет полезно как новичкам, так и тем, кто хочет копнуть глубже ❤️

🔥 Deep Learning - Ian Goodfellow, Yoshua Bengio, Aaron Courville
Библия по глубокому обучению: от основ нейросетей до продвинутых тем. Отлично подойдёт тем, кто хочет получить фундаментальное и строгое понимание.
Источники: версия на русском.

🔥 Neural Networks and Deep Learning - Michael Nielsen
Простой и интуитивный вход в мир нейросетей, материал относительно небольшой. Много визуализаций, понятные объяснения, минимум формальностей - идеально для первого знакомства.
Источники: оригинал, перевод на русский.

🔥 Dive into Deep Learning (D2L) - Aston Zhang, Zachary Lipton, Mu Li, Alexander Smola
Книга-учебник с интерактивными ноутбуками: теорию можно сразу пробовать в коде. Построена на PyTorch и MXNet, активно обновляется. Хороший баланс между практикой и объяснениями.
Источники: оригинал, перевод на русский.

🔥 Deep Learning for Coders with fastai and PyTorch - Jeremy Howard, Sylvain Gugger
Книга для тех, кто хочет быстро перейти к решению реальных задач. Много примеров, best practices и объяснений - особенно подойдёт тем, кто уже умеет кодить и хочет перейти к серьёзным DL-проектам.
Источники: оригинал на английском.

Если вы только начинаете - начните с Nielsen или D2L. Если хотите системности - читайте Goodfellow. А если тянет в продвинутую практику - берите последнее из списка

#dl@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥18❤‍🔥86
Привет, друзья!
Современные реалии таковы - новости про LLM заполонили все ленты. Но сегодня речь про кое-что особенное: OpenAI вернулась к своим корням и анонсировала GPT‑OSS - первую модель с открытыми весами после GPT‑2.

🐈А поподробнее?
🔜Доступны две версии: gpt‑oss‑120B (117 B параметров) и gpt‑oss‑20B (21 B параметров).
🔜Лицензия Apache 2.0 - а значит, можно свободно использовать и дорабатывать без ограничений.
🔜Это открытые веса, а не просто куча исходников - то есть можно запускать локально, адаптировать под себя и никак не связываться с API OpenAI.
🔜Производительность впечатляет: gpt‑oss‑120B сравнима с o4‑mini и даже превосходит её в некоторых задачах (смотрите на скрине).

😏 Это крутой поворот: OpenAI впервые с 2019 года возвращается в open‑weight лигу, а модели уже можно скачать с Hugging Face и запустить.

🐈Технические моменты:
🔜Модель использует Mixture-of-Experts (MoE) архитектуру: в расширенной версии из ~117 B параметров активны только ~5.1 B на токен, что делает её эффективной для инференса при больших нагрузках.
🔜Поддерживает chain-of-thought reasoning и function-calling, подходит для сложных агентных сценариев, интеллектуальных пайплайнов и использования внутри своей инфраструктуры.

🔗Самые важные ссылки:
🔜20B на Hugging Face
🔜120B на Hugging Face
🔜Официальный пост OpenAI с подробностями архитектуры и бенчмарками

Продолжаем следить за развитием событий 👀

#полезный_ии@data_easy
#nlp@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8👍31👏1