Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
18.5K subscribers
2.38K photos
119 videos
64 files
4.82K links
Все самое полезное для дата сайентиста в одном канале.

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

Курс по ML: https://clc.to/4hNluQ

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

РКН: https://gosuslugi.ru/snet/67a5b03124c8ba6dcaa121c9
Download Telegram
🏆 Плейбук Kaggle-грандмастеров: 7 проверенных техник моделирования для табличных данных

За годы участия в соревнованиях команда грандмастеров Kaggle выработала систему, которая стабильно выводит их в топ.

Неважно, миллионы строк или смещённые данные — эти 7 техник помогают быстро находить лучшие решения:

1️⃣ Расширенный EDA
Проверяйте не только пропуски и корреляции:
— сравнивайте распределения train/test,
— ищите временные тренды.
GPU позволяет делать такие анализы на миллионах строк за секунды.

2️⃣ Разнообразные бейслайны
Создавайте несколько моделей — линейные, GBDT, нейросети — и сравнивайте их.
Так быстрее понять, какие архитектуры чувствуют данные лучше.

3️⃣ Масштабное feature engineering
Генерируйте сотни и тысячи признаков.
Комбинируйте категории, делайте агрегации — с cuDF всё работает в десятки раз быстрее.

4️⃣ Hill Climbing (пошаговое ансамблирование)
Добавляйте модели по одной, сохраняйте только те комбинации, что реально улучшают метрику.
С GPU можно протестировать тысячи ансамблей за минуты.

5️⃣ Stacking (многоуровневые ансамбли)
Стройте метамодели, обучая их на предсказаниях базовых моделей.
Отлично работает, когда разные модели ловят разные закономерности.

7️⃣ Pseudo-labeling (псевдоразметка)
Используйте лучшие модели, чтобы предсказать метки для неразмеченных данных, и дообучайтесь на них.
Больше данных — выше устойчивость.
С GPU можно пройти несколько циклов за часы, а не дни.

🚩 Подробнее в детальной статье

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍32
🔥 LLMs с нуля: от базовой модели до RLHF на практике

Подробный практический гид по созданию собственной LLM в PyTorch — от архитектуры трансформеров до продвинутого обучения с подкреплением через PPO (RLHF).

Видео охватывает весь путь: проектирование, обучение, масштабирование и выравнивание модели.

Что внутри:
🔎 Построение ядра трансформера
🔎 Обучение Tiny LLM
🔎 Современные архитектурные улучшения
🔎 Масштабирование и Mixture-of-Experts
🔎 Supervised Fine-Tuning
🔎 Reward Modeling
🔎 RLHF с PPO

📱 Код: https://clc.to/tw9C4A
🎥 Смотреть: https://clc.to/5yvRlA

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥52👍1
Быстрый способ увидеть все зависимости Python-пакета

Инструмент PyPIPlus мгновенно показывает все зависимости любого Python-пакета с PyPI.

Полезно для дата-сайентистов:
😗 Офлайн-установки — особенно на изолированных серверах
😗 Экономия времени — мгновенный список всех зависимостей и их подзависимостей
😗 Аудит пакетов — быстро понять, что реально подтягивает пакет

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

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥32
This media is not supported in your browser
VIEW IN TELEGRAM
🐙 OctoSQL — единый SQL для всех источников данных

Инструмент, который позволяет писать SQL-запросы к любым базам данных и форматам файлов через единый интерфейс.
Можно даже делать JOIN между разными источниками — например, объединить JSON-файл с таблицей в PostgreSQL.

💡 OctoSQL — не просто CLI-утилита, а полноценный движок потоковой обработки данных, который легко встраивается в собственные приложения, добавляя им SQL-интерфейс.

📱 Репозиторий: https://clc.to/fR5Lsw

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🔎 KL Divergence ≠ Distance Metric

Все слышали про KL Divergence, но не все задумывались — почему дивергенция, а не расстояние?

Чтобы мера считалась distance, она должна быть:
неотрицательной
симметричной
равной нулю, если P = Q
и соблюдать неравенство треугольника

Но KL Divergence: 🚫 несимметрична — Dₖₗ(P∥Q) ≠ Dₖₗ(Q∥P), поэтому это не метрика.

💡 Тогда почему дивергенция

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

Или проще: KL Divergence — это мера информационной разницы, а не физического расстояния.

📊 Визуализация отлично показывает её асимметрию — и почему при работе с распределениями важно, в каком порядке их подставлять.

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
📌 DeepFabric — генерация синтетических датасетов на новом уровне

Для ML-инженеров, исследователей и AI-разработчиков появился инструмент, который упрощает создание высококачественных и разнообразных датасетов для обучения моделей в масштабе.

Что делает DeepFabric:
🔜 Легко превращает идеи и темы в структурированные данные, готовые к обучению моделей.
🔜 Избавляет от проблем с Tool Calls и неструктурированными формами — данные сразу консистентные и стандартизированные.
🔜 Подходит как для fine-tuning, так и для оценки моделей.

Идеально подходит для:
🔜 Быстрой генерации больших объемов обучающих данных.
🔜 Создания синтетических датасетов для NLP, диалогов, reasoning и function-calling задач.
🔜 Исследований и экспериментов с ML-моделями без ручного коллекшена данных.

📱 Репозиторий

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
📊 48 самых популярных открытых датасетов

Для всех, кто ищет готовые данные для экспериментов, обучения моделей или просто прокачки навыков.

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤩2
👏 Андрей Карпаты запускает NanoChat — фреймворк для компактных ChatGPT-моделей

Андрей Карпаты представил NanoChat — минималистичный и лёгкий фреймворк для создания небольших LLM-чатов, похожих на ChatGPT.

Цель проекта — сделать обучение и запуск собственных языковых моделей максимально доступным и понятным.

NanoChat отлично подойдёт для обучения, исследований и кастомных решений на базе LLM:
✔️ Открытый исходный код
✔️ Простой и читаемый код
✔️ Быстрый старт и понятная архитектура

📱 Проект уже доступен на GitHub.

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥2👍1👏1
🔥 Alibaba выпускает «кулинарную книгу» по Qwen3-VL: от OCR до object grounding

Это не просто демки — это реально практические рецепты, как собрать свои VLM-пайплайны, понять, как Qwen3-VL обрабатывает визуальные токены и подключить всё к своим задачам.

👏 Отличный ресурс для ML-инженеров, работающих с мульти-модальными моделями.

➡️ Ссылка на cookbook

👍 Если хочешь прокачать базу, чтобы увереннее работать с моделями и пайплайнами — посмотри курс Математика для Data Science.

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🎉2
🔗 NumPy теперь почти полностью типизирован — 90%

NumPy — один из самых скачиваемых Python-пакетов, и теперь его type-completeness (покрытие типами) выросло с 33% до почти 90%.

Это огромный шаг для всей экосистемы Python и особенно для дата-сайнса.

Оказалось, что одна строчка исправления подняла покрытие типов с 33% до 80%:
# Было
def setfield(self, /, val: ArrayLike, dtype: DTypeLike, offset: CanIndex = 0) -> None: ...

# Стало
def setfield(self, /, val: ArrayLike, dtype: DTypeLike, offset: SupportsIndex = 0) -> None: ...


😁 Да, одна опечатка в аннотации — и вот уже +50% к типовой полноте.

После этого внимание было уделено MaskedArray, где типизация была всего 20%.

Теперь — 100%:
>>> np.mean([x['isTypeKnown'] for x in exported if x['name'].startswith('numpy.ma.core.MaskedArray.')])
np.float64(1.0)


Более полная типизация =
✔️ Умнее автодополнение в IDE
✔️ Меньше ошибок
✔️ Надёжнее библиотеки, зависящие от NumPy (pandas, scikit-learn, xarray и др.)

📝Остаётся типизировать верхнеуровневые функции numpy.ma, уточнить перегрузки и добавить type-checker прямо в CI NumPy. Отличный шанс внести вклад в open source — довести NumPy до 100% тип-совместимости.

🔗 Подробнее

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122😁2
🎧 Как шпион на вечеринке: Independent Component Analysis (ICA)

Представьте: шумная вечеринка — десятки голосов, музыка, звон бокалов. Каждый микрофон записывает неразборчивую смесь всех звуков.
Но шпион, вооружённый Independent Component Analysis (ICA), извлекает из хаоса отдельные разговоры — как будто разделяет сигналы по смыслу.

Именно это делает ICA в данных: разделяет сложные многомерные сигналы на независимые компоненты.
Если PCA (Principal Component Analysis) ищет некоррелированные оси, то ICA идёт дальше — ищет статистически независимые источники.

Математически это выглядит так:
X = A * S


где,
🟰 X — наблюдаемые данные (смесь сигналов),
🟰 A — матрица смешивания,
🟰 S — исходные независимые компоненты.

ICA пытается найти матрицу W, такую что:
S = W * X


Главная идея — найти компоненты с максимальной негауссовостью, ведь по центральной предельной теореме сумма независимых переменных тяготеет к нормальному распределению.

Пример на Python:
STEP_SIZE = 1e-3
N_ITERATIONS = 50

X_centered = X - np.mean(X, axis=0)
pca = PCA(whiten=True)
X_whitened = pca.fit_transform(X_centered)

n, m = X_whitened.shape
w1 = rng.rand(m)
w1 /= np.linalg.norm(w1) + 1e-10

for i in range(N_ITERATIONS):
s = np.dot(X_whitened, w1)
gradient = 4 / n * np.dot(np.pow(s, 3), X_whitened)
w1 += STEP_SIZE * gradient
w1 /= np.linalg.norm(w1) + 1e-10


После нахождения первой компоненты выполняется deflation, чтобы следующая была независима:
X_deflated = X_whitened - np.outer(np.dot(X_whitened, w1), w1)


🟰 На практике: используйте FastICA — она оптимизирует все компоненты сразу и автоматически проводит whitening.

🗂 Подробная статья

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63
⭐️ Интерактивный гайд по 4 ключевым задачам с Transformers

Мы нашли мощный материал, который объясняет, как использовать модели ViT, DETR, BLIP и ViLT для самых базовых, но фундаментальных задач Computer Vision:
— Image Classification — классификация изображений с помощью Vision Transformer (ViT).
— Image Segmentation — точное выделение объектов на изображении с DETR и Mask2Former.
— Image Captioning — генерация описаний изображений с BLIP.
— Visual Question Answering (VQA) — ответы на вопросы по изображению с ViLT и BLIP.

ℹ️ Гайд показывает, как трансформеры постепенно вытесняют CNN и становятся универсальным решением — от анализа пикселей до генерации текстов и ответов.

➡️ Полный разбор и демо-приложение

💡 Хочешь разбираться в таких архитектурах глубже — с математикой, алгоритмами и практикой?
Сейчас в Proglib действует акция –40% на курс Математика для Data Science

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🤯 Наконец-то понятен self-attention

Одна из самых сложных частей понимания LLM — это self-attention. Формула выглядит простой — её можно быстро выучить.

Но что на самом деле означают Q, K и V и как они взаимодействуют — совсем другая история.

Эта визуализация делает всё очень наглядным и понятным — видно, как queries обращаются к keys и получают нужные values.

🤨 Чтобы лучше понимать, как работают модели на математическом уровне, советуем курс Математика для Data Science.

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2🔥2
📉 Распределение Коши — самое «упрямое» в статистике

У него настолько тяжёлые хвосты, что среднее и дисперсия не определены вовсе.

😅 Да-да, никакого среднего значения у него нет — математика просто отказывается сходиться.

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

🔛 Распределение Коши — напоминание, что не всё поддаётся усреднению. Иногда хаос — это и есть закон.

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍5🔥2🥰1😢1
🍊 Orange Data Mining — визуальная аналитика без кода

Orange — это интерактивный инструмент для анализа и визуализации данных, который одинаково удобен и для новичков, и для экспертов.
Главная идея — демократизировать data science: никаких формул, кода и сложных алгоритмов — всё работает через наглядные блок-схемы (workflow).

Что можно делать:
— Загружать и исследовать данные
— Визуализировать зависимости
— Применять машинное обучение
— Строить интерактивные отчёты

🧩 Orange отлично подходит для обучения, быстрой проверки гипотез и прототипирования ML-моделей.

Установка (несколько способов)

Через Conda (рекомендуется):
conda config --add channels conda-forge
conda config --set channel_priority strict
conda create python=3.12 --yes --name orange3
conda activate orange3
conda install orange3


Через pip:
pip install orange3


После установки:
orange-canvas


или
python3 -m Orange.canvas


📱 GitHub

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥2🥰1
⬇️ Почему MissForest ломается в задачах предсказания

Алгоритм MissForest отлично восстанавливает пропущенные данные, но в предиктивных моделях он даёт сбой — и дело не в коде, а в логике.

⚠️ Проблема: MissForest не сохраняет обученные модели после импутации. Из-за этого тестовые данные влияют на обучение, что приводит к утечке данных (data leakage) и искажённым метрикам.

Две типичные ошибки:
1️⃣ Объединять train и test перед импутацией — утечка данных
2️⃣ Импутировать отдельно — падает точность

Решение — MissForestPredict:
➡️ Он сохраняет обученные модели для каждой переменной
➡️ Можно обучить на train и честно применить к test — без утечки и переобучения.

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52😁2😢1