Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
Все самое полезное для дата сайентиста в одном канале. Учиться у нас: clc.to/6qVHgg По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5b03124c8ba6dcaa121c9
نمایش بیشتر📈 تحلیل کانال تلگرام Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
کانال Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение (@dsproglib) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 18 299 مشترک است و جایگاه 7 123 را در دسته فناوری و برنامهها و رتبه 35 973 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 18 299 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 25 اکتبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -40 و در ۲۴ ساعت گذشته برابر -5 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 6.32% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 3.31% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 1 156 بازدید دریافت میکند. در اولین روز معمولاً 605 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 2 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند сайентиста, llm, буст, навигация, openai تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Все самое полезное для дата сайентиста в одном канале.
Учиться у нас: clc.to/6qVHgg
По рекламе: @tproger_sales_bot
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5b03124c8ba6dcaa121c9”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 26 اکتبر, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
در حال بارگذاری دادهها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 26 اکتبر | +2 | |||
| 25 اکتبر | +1 | |||
| 24 اکتبر | +1 | |||
| 23 اکتبر | +1 | |||
| 22 اکتبر | +2 | |||
| 21 اکتبر | +5 | |||
| 20 اکتبر | +2 | |||
| 19 اکتبر | +3 | |||
| 18 اکتبر | +2 | |||
| 17 اکتبر | +3 | |||
| 16 اکتبر | +3 | |||
| 15 اکتبر | +1 | |||
| 14 اکتبر | +4 | |||
| 13 اکتبر | +5 | |||
| 12 اکتبر | +16 | |||
| 11 اکتبر | +2 | |||
| 10 اکتبر | +1 | |||
| 09 اکتبر | +3 | |||
| 08 اکتبر | 0 | |||
| 07 اکتبر | +3 | |||
| 06 اکتبر | +5 | |||
| 05 اکتبر | +8 | |||
| 04 اکتبر | +3 | |||
| 03 اکتبر | +6 | |||
| 02 اکتبر | +1 | |||
| 01 اکتبر | 0 |
ASOF LEFT JOIN. Соединяйте по одинаковому sensor_id и условию event_time >= setting_time. Тогда для каждого события выбирается последнее значение справа с временем не позже события, включая точное совпадение. В примере предполагается одна настройка на пару «датчик + время».
Совпадение будет максимум одно. Если подходящей настройки нет, LEFT сохранит событие и вернёт NULL в правых полях. Без LEFT такая строка пропадёт.
Для проверки выведите обе временные метки явно. И отдельно учитывайте, когда запись реально стала доступна: старое время события не спасёт от утечки, если сама запись поступила позже. ASOF задаёт правило сопоставления, а не проверяет всю историю доступности данных.
ASOF JOIN в DuckDB
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста| 2 | 📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше.
В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок.
Например, можно совместить два направления по работе с ИИ:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета.
А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога.
Акция действует до 31 октября включительно ⏳
⏮️ Пора прокачать свой стек | 658 |
| 3 | Модель училась на log(y). Что вернёт predict?
Обучили регрессию на логарифме целевой переменной, а прогноз сравнили с исходными суммами. Код может отработать без ошибки, хотя шкалы уже разные.
В scikit-learn есть TransformedTargetRegressor: он преобразует y перед обучением и применяет обратное преобразование к прогнозам. Для логарифма это пара func=np.log и inverse_func=np.exp. Поэтому predict возвращает результат в исходной шкале.
Прямое и обратное преобразования хранятся вместе с моделью. Их не приходится вручную повторять в каждом месте, где нужен прогноз. Но обычный log требует строго положительных значений y.
Есть и статистический нюанс: exp от среднего в логарифмической шкале обычно не равно среднему в исходной. Обёртка возвращает прогноз в нужных единицах, но сама по себе не устраняет это смещение и не обещает роста качества. Проверяйте метрику в той шкале, в которой будете использовать результат.
Преобразование целевой переменной
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста | 774 |
| 4 | Как Polars убирает лишнюю работу из запроса
Нужно посчитать сумму покупок по пользователям из одной страны. В исходной таблице десятки колонок. Зачем тащить их все до финальной группировки?
Lazy API Polars позволяет оптимизировать план до выполнения. Два полезных механизма работают ближе к чтению данных:
— predicate pushdown переносит фильтрацию как можно раньше. В нашем примере это условие по стране
— projection pushdown оставляет нужные колонки: идентификатор пользователя, сумму и страну для фильтра
Колонка страны нужна, даже если её не будет в результате. Оптимизатор учитывает не только финальный список полей, но и то, что требуется промежуточным операциям.
Выигрыш зависит от источника и плана. Ранний фильтр не обязательно означает, что движок физически прочитает меньше байтов. Но сам вопрос полезный: какие данные действительно нужны для результата и на каком этапе можно отбросить остальные?
Оптимизации Lazy API Polars
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста | 900 |
| 5 | Почему три значимых результата превращаются в два
Проверили четыре гипотезы и получили p-value 0.001, 0.01, 0.04, 0.2. По отдельности первые три проходят порог 0,05. После поправки Benjamini–Hochberg значения станут 0.004, 0.02, 0.0533…, 0.2. Останутся первые две.
В statsmodels такую поправку делает multipletests с явно заданным method="fdr_bh". По умолчанию используется Holm–Sidak, это другая процедура.
BH контролирует FDR: ожидаемую долю ложных отклонений среди всех отклонённых гипотез. Если отклонений нет, долю считают нулевой. Это не вероятность ошибки каждой отдельной находки. Контроль FWER, например методом Bonferroni, решает другую задачу: ограничивает вероятность хотя бы одного ложного отклонения в семействе.
У BH есть условия применимости. Для независимых тестов с корректными p-value контроль FDR обеспечивается, но переносить его на любую зависимость нельзя. И поправку нужно применять ко всему выбранному семейству проверок, а не только к удачным результатам.
Методы и параметры multipletests
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста | 924 |
| 6 | 😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция!
До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один.
Например, можно совместить:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥
Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога.
Акция действует до 31 октября включительно ⏳
⏬ Собрать свой учебный билд | 915 |
| 7 | Antifraud Scientist в Higgsfield AI
Higgsfield AI — быстрорастущая AI-компания. За 18 месяцев с запуска она вышла на $1B ARR.
Чем предстоит заниматься
— Разработкой антифрод-модели. Контекст задачи:
— Более 6 млн генераций в день. Каждая мошенническая генерация расходует реальные GPU, поэтому модель должна останавливать абьюз до того, как будут потрачены вычислительные ресурсы.
— Противник адаптируется за считаные дни: фермы из сотен аккаунтов, перепродажа доступа, автоматизированный сбор промобонусов. Система должна выдерживать эту гонку.
Требования
— От 3 лет опыта в DS/ML, Python и SQL, модели в production.
— Опыт работы с бустингами, дисбалансом классов и графами связей.
— Умение оценивать модель через предотвращённые потери и стоимость ложных блокировок.
— Готовность разбирать кейсы вручную и собирать сигналы из сырых событий, платежей и поведения пользователей.
— Самостоятельность: от первой гипотезы до работающего скоринга, мониторинга и обновления модели.
— Готовность работать 6 дней в неделю.
Условия
— Офис в Алматы.
— Полная поддержка релокации (финансовая и организационная).
— Зарплата $100–350 тыс. в год.
Откликнуться: @didarnrkr | 885 |
| 8 | Один seed на все процессы: как случайно повторить выборки
Если каждый процесс создаст одинаковый генератор NumPy с одним seed и выполнит одинаковые случайные операции, он получит ту же последовательность. Восемь запусков bootstrap могут оказаться восемью копиями одного запуска.
Для отдельных потоков в NumPy есть SeedSequence.spawn. Создайте один родительский SeedSequence, получите нужное число дочерних и передайте каждой задаче свой. Из каждого дочернего seed создаётся отдельный Generator.
В начальное состояние смешиваются исходный seed и положение в дереве. Документация описывает полученные потоки как независимые с очень высокой вероятностью, без абсолютной гарантии.
Простое сложение root_seed + worker_id тоже неудобно: если в следующем эксперименте увеличить root_seed на единицу, часть seed повторится. А для воспроизводимости со spawn сохраняйте не только исходный seed, но и соответствие дочерних потоков логическим задачам.
Параллельные генераторы в NumPy
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста | 946 |
| 9 | Что именно перемешивает перестановочный тест
Есть два замера одних и тех же объектов: до изменения и после. Если смешать все значения в одну кучу, связь между замерами потеряется. Получится тест другой гипотезы.
В scipy.stats.permutation_test за это отвечает permutation_type:
— independent заново распределяет объединённые наблюдения по группам. Подходит для независимых выборок, размеры могут различаться
— samples меняет местами значения внутри пар. Для двух замеров каждого объекта сами пары сохраняются
— pairings переставляет соответствия между наблюдениями, оставляя значения в своих выборках. Так проверяют, например, случайность связи между x и y
Для дизайна «до/после» может подходить samples, если при нулевой гипотезе обмен значений внутри пары допустим. Совпадение индексов в таблицах ещё не делает данные парными.
Сначала определите, какие перестановки разрешает дизайн эксперимента. Увеличение их числа не исправит неверную схему перемешивания.
Три режима в документации SciPy
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста | 1 047 |
| 10 | 📊 Дрейфа не нашли. А пропуски проверили?
Представьте: распределение значений признака почти не изменилось, но половина новых строк теперь приходит с NULL. Один отчёт о дрейфе может не показать эту проблему.
В Evidently стандартные drift-проверки сравнивают reference и current датасеты. Перед сравнением из соответствующих колонок отфильтровываются пустые и бесконечные значения. Поэтому сами тесты по умолчанию не реагируют на рост числа пропусков.
Что проверять отдельно:
— долю NULL по важным колонкам;
— полностью пустые признаки;
— изменения распределений;
— качество модели, когда появилась разметка.
Изменившееся распределение не равно доказанному падению качества. А отсутствие дрейфа не равно здоровым данным. Эти сигналы отвечают на разные вопросы — и в мониторинге нужны рядом.
🔗 Как Evidently проверяет data drift
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека дата-сайентиста | 1 314 |
| 11 | 📌 Учебник по deep learning, в котором можно запускать главы
В Deep Learning for Coders with fastai and PyTorch текст и код живут в Jupyter notebooks. Книгу можно бесплатно читать онлайн, а главы — открывать в Colab и выполнять примеры.
На странице собраны отдельные ноутбуки про:
— обучение моделей для изображений;
— табличные данные и collaborative filtering;
— NLP;
— оптимизаторы, callbacks и устройство обучения.
Для чтения без запуска есть nbviewer. А если хочется понять механизм, полезнее изменить данные или параметр в ноутбуке и проверить, как меняется результат.
Это давно доступный учебный материал, а не новый релиз. Примеры стоит сверять с версиями библиотек; бесплатный Colab также не обещает неограниченные вычисления. Зато формат позволяет разбирать одну главу и сразу экспериментировать с кодом.
🔗 Главы книги в Colab и nbviewer
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека дата-сайентиста | 1 372 |
| 12 | 🧹 Cleanlab: сначала проверьте, откуда взялись вероятности
Cleanlab помогает искать подозрительную разметку по предсказаниям модели. Но если модель уже обучалась на этих же примерах, её уверенность может скрыть ошибки: знакомый датасет она нередко просто запоминает.
Для поиска проблем во всём наборе нужны out-of-fold вероятности:
— разбить данные на фолды;
— обучить модель на всех фолдах, кроме одного;
— получить вероятности для отложенного фолда;
— повторить и собрать предсказания для каждой строки.
Тогда ни один пример не оценивается моделью, которая видела его при обучении. Для совместимого со scikit-learn классификатора такие предсказания можно получить через cross_val_predict с method="predict_proba".
Подозрительная метка — повод проверить пример, а не автоматически переписать ответ на вариант модели. Иначе исправление разметки может просто перенести в датасет её собственные ошибки.
🔗 Руководство по out-of-sample predictions
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека дата-сайентиста | 1 335 |
| 13 | 🧠 Можно ли увидеть неуверенность LLM до конца ответа?
Уверенный тон ответа ещё не означает, что модель права. Авторы U-Space предлагают смотреть на внутренние состояния LLM и отслеживать, как меняется сигнал неопределённости по ходу генерации.
Они берут смысловые ориентиры для сомнения и уверенности, переводят их направления в пространство скрытых состояний и строят небольшое подпространство. U-Lens проецирует туда состояние каждого токена: получается карта, которую можно изучать отдельно или свести к одному показателю.
По описанию авторов, метод не требует меток правильности, дополнительного обучения и повторной генерации ответа. Они также проверяют, не объясняется ли качество сигнала просто длиной текста.
Это исследовательский препринт, а не готовый универсальный детектор галлюцинаций. Для применения нужен доступ к внутренним состояниям модели; по одному тексту ответа такую проверку не повторить.
🔗 Препринт U-Space и ссылка на код
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека дата-сайентиста | 1 258 |
| 14 | 🧑💻 Какие навыки помогают вам в разработке в 2026 году?
Что вы чаще используете в работе? В каких задачах помогает ИИ, а где проще справиться самостоятельно?
Мы решили собрать портрет современного разработчика — и приглашаем вас поделиться своим опытом. Расскажите, какие навыки вам пригодились и как вы используете ИИ. Если обходите его стороной, нам тоже интересно узнать почему.
Опрос анонимный и займёт около 5 минут. Результаты опубликуем в общем большом исследовании.
👉 Пройти опрос | 800 |
| 15 | ☔️ Планы на выходные снова испортила погода? У нас есть план получше.
Выходные — хороший повод заняться тем, на что вечно не хватает времени. Например, освоить новый навык или углубиться в знакомую тему.
📍 В Proglib Academy покупаешь один курс, а второй получаешь в подарок. Платишь только за один!
Вот несколько сочетаний:
💥 Разработка ИИ-агентов + Python
💥 Machine Learning + Математика для Data Science
Можно выбрать и другие курсы — под свои интересы и цели.
⏳ Акция действует до 18 октября.
➡️ Выбрать курсы и оставить заявку | 1 210 |
| 16 | 🧹 Pandera: как собрать ошибки датасета в один отчёт
В выгрузке нет нужной колонки, числа приехали строками, а одна проверка диапазона не проходит. Если валидатор остановится на первой ошибке, остальные обнаружатся только после очередного исправления.
В Pandera можно описать схему DataFrame: типы, обязательные колонки и проверки значений. Параметр lazy=True собирает ошибки проверки вместо остановки на первом нарушении.
try:
schema.validate(df, lazy=True)
except pa.errors.SchemaErrors as exc:
print(exc.failure_cases)
Здесь schema — заранее заданная схема, df — данные, а pa — pandera.pandas. В failure_cases можно посмотреть, какие проверки и значения не прошли.
Такой отчёт удобен на входе в пайплайн: сначала понять масштаб проблем, затем решать, что исправлять или отклонять. Сам режим валидации данные автоматически не чинит.
🔗 Примеры lazy validation
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека дата-сайентиста | 1 287 |
| 17 | Приходится ли вам копипастить данные и какие именно, когда переходите из одной нейросети в другую? | 820 |
| 18 | Общая папка для работы Claude Code и Codex
Луи-Франсуа Бушар собрал заметки, инструкции-скиллы, скрипты и итоги встреч в Obsidian. Его связка устроена так:
Папка хранит исходные материалы и решения
↓
Индекс указывает, где искать данные для задачи
↓
Claude Code планирует работу
↓
Codex выполняет задачи по его вызову
В описании этого рабочего процесса Бушар объясняет, зачем даёт агенту сведения для конкретной задачи. Начать предлагает с общей папки, короткого индекса и одного повторно используемого скилла.
#ии #инструменты | 688 |
| 19 | 🗂 Как DuckDB пропускает ненужные Parquet-файлы
Если данные лежат в папках year=2026/month=10/, значения в пути можно использовать как колонки. Это Hive partitioning: не обязательно записывать год и месяц в каждую строку файла.
SELECT *
FROM read_parquet(
'orders/*/*/*.parquet',
hive_partitioning = true
)
WHERE year = 2026 AND month = 10;
DuckDB проталкивает фильтр по ключам партиций к чтению файлов. Для такого запроса папки других месяцев можно пропустить, а не загружать весь набор и отсеивать строки после чтения.
Это полезно для выгрузок событий, заказов и логов, если запросы регулярно ограничены датой. Но разбиение помогает именно по ключам папок: фильтр по сумме заказа сам по себе не означает, что ненужные месяцы исчезнут из чтения.
🔗 Документация DuckDB
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека дата-сайентиста | 1 217 |
| 20 | 💡 Почему порог 0,5 не обязан подходить вашей модели
Модель оценила вероятность положительного класса в 0,4. Ответ «нет» получается не из самой вероятности, а из правила, которое сравнивает её с порогом.
В бинарной классификации scikit-learn обычно использует 0,5 для вероятностей. Но пропущенное событие и ложная тревога могут стоить по-разному. Поэтому порог стоит подбирать под задачу: например, по F1 или своей функции полезности.
TunedThresholdClassifierCV делает это через внутреннюю кросс-валидацию. При смене порога вероятности могут остаться прежними, а метки классов и число ошибок — измениться.
Важно: не подбирайте порог по финальному тесту. А если используете cv="prefit", не отдавайте для настройки те же данные, на которых обучали модель. Иначе оптимизируете решение под уже знакомые примеры.
🔗 Порог классификации в scikit-learn
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека дата-сайентиста | 1 347 |
