Telegram Web
🔥 Конкурс: 30 000 ₽ за самую смешную IT-новость

Напоминаем о конкурсе «Библиотеки программиста»: напишите самую смешную версию реальной новости про технологии.

👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.

🎁 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе

🏆 Как будем оценивать:
Мы выложим новости всех участников в одном из наших телеграм-каналов. Те новости, которые наберут больше всего охвата, войдут в шорт-лист. Из шорт-листа подписчики и жюри выберут победителя.

📅 Сроки: прием новостей до 11 мая включительно

Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8

Осталась неделя — ждем ваших новостей!
👨‍💻 Топ-вакансий для дата-сайентистов за неделю

Бизнес-/продуктовый аналитик в B2B-маркетплейс — от 100 000 до 180 000 ₽ net, удаленка, предпочтительная география: Урал, Поволжье и около

Продуктовый аналитик на проект Piece of Cake

AI Engineer (инженер по ИИ) data science (дата-сайентист) — от 100 000 до 200 000 ₽, гибрид (Москва)

Data Scientist в Сетку, гибрид (Москва)

BI Analytics Team Lead — от 6 600 до 7 500 €, гибрид (Кипр, Казахстан, Грузия, Сербия, ОАЭ)

Senior Data Scientist (RL), удалёнка (Москва)

➡️ Еще больше топовых вакансий — в нашем канале Data jobs

Библиотека дата-сайентиста
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 How to: выбрать важные признаки и избежать переобучения

Выбор признаков и регуляризация — ключевые методы для повышения эффективности модели и предотвращения переобучения. Вот как это можно реализовать:

1️⃣ Использование Recursive Feature Elimination (RFE)

Метод RFE помогает выбрать наиболее значимые признаки, исключая менее важные:
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression

model = LogisticRegression()
rfe = RFE(model, n_features_to_select=5)
X_rfe = rfe.fit_transform(X, y)


2️⃣ L1-регуляризация (Lasso)

L1-регуляризация помогает «занулять» незначительные признаки, что эффективно для отбора:
from sklearn.linear_model import Lasso

model = Lasso(alpha=0.1)
model.fit(X, y)


📌 Рекомендация: подбирайте оптимальное значение alpha с использованием кросс-валидации, например, через GridSearchCV.

3️⃣ Random Forest для выбора признаков

Алгоритм Random Forest вычисляет важность признаков, что позволяет отбирать наиболее значимые:
from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier()
model.fit(X, y)
importances = model.feature_importances_


4️⃣ Регуляризация с Ridge (L2-регуляризация)

L2-регуляризация помогает уменьшить влияние менее значимых признаков, но не исключает их полностью:
from sklearn.linear_model import Ridge

model = Ridge(alpha=0.1)
model.fit(X, y)


5️⃣ Анализ важности признаков с помощью деревьев решений

Если вы используете алгоритмы на основе деревьев решений, важно учитывать их внутреннюю важность признаков:
from sklearn.tree import DecisionTreeClassifier

model = DecisionTreeClassifier()
model.fit(X, y)
importances = model.feature_importances_


📌 Рекомендация: рассмотрите возможность комбинированного использования методов Lasso и RFE для более агрессивного отбора признаков, что может быть полезно, если ваш набор данных содержит множество признаков.

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Какой вектор лучше: Dense vs Multi-vector embeddings

Раньше хватало одного эмбеддинга на документ. Сейчас — этого уже мало. Нужна структура.

📍 Dense-векторы (single vector per doc):
— быстрые
— экономные по памяти
— слабо улавливают контекст
— «плавают» при сложных запросах
👉 подходят для простого поиска

📍 Multi-vector (late interaction):
— вектор на каждый токен
— сравниваются токены запроса и документа напрямую
— лучше качество на сложных задачах
— выше требования к хранилищу
👉 баланс между скоростью и точностью

📍 Late interaction ≈ золотая середина:
— быстрее, чем cross-encoders
— точнее, чем dense-векторы

📍 Примеры моделей:
— ColBERT — для текстов
— ColPali — multimodal: текст + PDF как картинки
— ColQwen — как ColPali, но на Qwen2 (Apache 2.0, компактнее)

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

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Команда дня: pipe

Сегодня делимся полезной фишкой из библиотеки pandas — метод .pipe() для создания чистых и читаемых цепочек обработки данных.

import pandas as pd

# Пример: очистка и преобразование данных в одну цепочку
def clean_data(df):
return df.dropna().reset_index(drop=True)

def add_age_group(df):
df['age_group'] = pd.cut(df['age'], bins=[0, 18, 35, 60, 100], labels=['Kid', 'Young', 'Adult', 'Senior'])
return df

# Используем pipe для последовательной обработки
df = (pd.read_csv('data.csv')
.pipe(clean_data)
.pipe(add_age_group))


Зачем это нужно:
🎌 .pipe() позволяет организовать преобразования данных в логическую цепочку, улучшая читаемость кода
🎌 Удобно для сложных ETL-процессов (Extract, Transform, Load)
🎌 Легко добавлять новые шаги обработки

Пример в деле:
def normalize_column(df, col):
df[col] = (df[col] - df[col].mean()) / df[col].std()
return df

df = (pd.DataFrame({'value': [10, 20, 30, 40]})
.pipe(normalize_column, col='value'))


Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
📋 Чек-лист перед запуском ML-задачи через `sbatch`

Ваш минимальный набор проверок, чтобы не тратить GPU впустую и не ловить баги на 3-й час обучения:

Подготовка скрипта run_job.sh:
➡️ Указано имя задачи через #SBATCH --job-name=...

➡️ Настроены логи: --output=logs/%x_%j.out, --error=logs/%x_%j.err

➡️ Выбран нужный раздел: --partition=ml (или подходящий)

➡️ Указано количество ресурсов: --cpus-per-task=..., --mem=..., --gres=gpu:1

➡️ Прописан тайм-аут: --time=HH:MM:SS — не забудьте!

Среда и окружение:
➡️ Загружается нужный модуль (module load ...) или активируется conda

➡️ Все зависимости перечислены в requirements.txt или environment.yaml

➡️ Проверен путь к train.py и конфигам — абсолютный или относительный

Код:
➡️ Прописан фиксированный random seed (в reproducibility мы верим)

➡️ Есть логирование (хотя бы print/logging/wandb/MLflow)

➡️ Код протестирован локально или через srun с малым объемом данных

Безопасность и этика:
➡️ Нет утечки чувствительных данных

➡️ Модель прошла базовую проверку на адекватность и непредвзятость

Финальное:
➡️ Скрипт запускается через: sbatch run_job.sh

➡️ Вы проверяете статус: squeue -u $USER

➡️ При ошибке используете: scancel <jobid>

Если всё отмечено — можно запускать!

🙅‍♂️ Если хотя бы одно «нет» — лучше потратить ещё 5 минут, чем 5 часов GPU-времени впустую.

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
📺 Что посмотреть: Scaling Long Context and RAG от Google DeepMind

В свежем эпизоде «Release Notes» от Google DeepMind обсуждают масштабирование контекста и работу Retrieval-Augmented Generation (RAG) в длинных контекстных окнах.

💡 Ведущий — Логан Килпатрик, гость — Николай Савинов (DeepMind).

Они делятся инсайтами о:
➡️ проблемах с длинными контекстами,
➡️ подходах к улучшению моделей,
➡️ роли RAG в реальных сценариях,
➡️ и будущем long-context архитектур.

Особенно интересно, если вы работаете с LLM, памятью и retrieval-системами.

▶️ Смотреть: https://clc.to/c8DzRQ

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍 Лучшие нейросети для написания научной статьи

Вы пишете диплом, диссертацию или научную публикацию?

Мы собрали топ сервисов с нейросетями, которые реально помогают:
находить релевантные источники
улучшать научный стиль
структурировать аргументы
экономить часы на оформлении

Эти инструменты берут на себя рутину, а вы — сосредотачиваетесь на смысле.

👉 Читайте подборку — и пишите легче: https://proglib.io/sh/T3Zd1EABgY

Библиотека дата-сайентиста
Please open Telegram to view this post
VIEW IN TELEGRAM
📈 Холивар: NumPy против pandas против PySpark — кто рулит в данных

Дата-сайентисты, делитесь: чем копаете свои миллионы строк?

🐍 NumPy — минимализм и математика
• Основа всех ML-библиотек.
• Векторы, матрицы, broadcasting — строго, быстро, эффективно.
• Если ты знаешь np.dot и np.linalg, тебя зовут в глубины ML.

Но:
• Строгая типизация и отсутствие удобных табличек.
• Хотел сделать фильтр по колонке? Сначала reshape.
IndexError: too many indices — старая знакомая.

📊 pandas — король табличек
df.head() — и ты уже видишь суть.
• Гибкость, группировки, фильтрации — словно Excel на стероидах.
• Подходит и для EDA, и для препроцессинга.

Но:
• Большой датасет? Привет, out of memory.
• Интуитивно, но не всегда предсказуемо.
SettingWithCopyWarning — и ты не уверен, изменил ли что-то вообще.

🔥 PySpark — big data и кластеры
• Когда данных слишком много для pandas.
• Распределённые вычисления, lazy evaluation, Spark SQL.
• Подходит для продакшена, когда ноутбук уже плачет.

Но:
• Стартуем JVM… подождите немного.
• Написал три строчки — получил лог на 300 строк.
• Не для быстрых экспериментов.

А вы кто: numpy-ниндзя, pandas-мастер или spark-инженер? Или по чуть-чуть от каждого?
Инструкция о том, как оставить комментарий: https://www.tgoop.com/dsproglib/6244

Библиотека дата-сайентиста #междусобойчик
🦾🧠🏋Качаем мозги к лету!

Все качают пресс, а мы — мозги, чтобы получить крутой оффер, уехать на Бали и больше не быть онлайн 😎

⚡️Распродажа: с 10 до 12 мая — скидка 30% на все наши курсы!

➡️ Математика для Data Science 32 990 ₽ 23 090 ₽

➡️ Алгоритмы и структуры данных 39 590 ₽ 27 700 ₽

➡️ Основы программирования на Python 21 990 ₽ 15 390 ₽

Почему мы?

⭐️Курсы разрабатывались при поддержке топовых преподавателей из Яндекса, Сбера, МГУ
⭐️У нас есть менторы, которые поддерживают студентов на каждом этапе
⭐️Мы разбираем задачи с реальных собеседований в крупнейшие компании и готовим к поступлению в ШАД
⭐️Вход с любого уровня: например, на курсе математики сначала освежаем знания из школьной программы

Save the dates!
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕 Свежие новости из мира AI и Data Science

🔥 Модели, релизы и технологии:
Mistral Medium 3 — новая модель от Mistral AI для корпоративного сегмента: почти frontier-производительность за меньшие деньги
Gemini 2.5 Pro — улучшенная версия от Google с прокачанными способностями к программированию
NVIDIA Parakeet TDT 0.6B — речь в реальном времени: 60 минут аудио за 1 секунду, побеждает всех на Open ASR Leaderboard
PyTorch и AI-экосистема — как PyTorch стал центральным звеном в инфраструктуре генеративного ИИ

🧠 Статьи, исследования и лучшие практики:
Embeddings для непрофи — объяснение концепции эмбеддингов простым языком (есть график с собаками 🐶)
LLM и трансформеры — шпаргалка от Stanford — полный гайд по архитектурам больших языковых моделей
Обучение LLM на одном примере — новое исследование по обучению reasoning с минимальными данными

👍 Полезное:
Выбор MLOps-инструментов — как выбирать стек в зависимости от зрелости команды
CLIP vs SigLIP — подборка для интервью по Computer Vision (Middle/Senior)

Библиотека дата-сайентиста #свежак
👨‍💻 Топ-вакансий для дата-сайентистов за неделю

Product Analyst, Relocation (Mexico/Serbia)

Deep Learning Engineer —‍ от 300 000 до 550 000 ₽, гибрид (Москва)

Senior-Lead Analyst, удаленка

Data analyst (Мiddle/Middle+), гибрид (Москва)

Senior Data Analyst, удалёнка (в РФ и за рубежом)

ML-разработчик (Генеративные E-com-сценарии / LLM) —‍ от 300 000 до 400 000 ₽, гибрид (Москва, Санкт-Петербург, Екатеринбург, Нижний Новгород)

Data Scientist в области языковых моделей (Middle) —‍ от 351 000 ₽, удалёнка (Москва, Санкт-Петербург, Екатеринбург, Нижний Новгород)

Data Analyst —‍ от 80 000 до 100 000 ₽, удалёнка

➡️ Еще больше топовых вакансий — в нашем канале Data jobs

Библиотека дата-сайентиста
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Шпаргалка по срезам списков в Python

Полезно как для начинающих, так и для практикующих разработчиков.

📥 Сохраняйте в закладки, чтобы всегда было под рукой.

Библиотека дата-сайентиста #буст
Как ускорить вычисления с массивами с помощью NumExpr

NumExpr — мощный инструмент для ускорения вычислений с массивами в Python, который может значительно повысить производительность при работе с большими данными и сложными математическими выражениями.

Преобразовать медленный цикл, который занимал 650 мс, в вычисление за 60 мс — это реальность с использованием NumExpr.

Вот как NumExpr ускоряет вычисления 🔽

1️⃣ Частичное выполнение в кэше

NumExpr избегает создания огромных временных массивов, разбивая их на части, соответствующие размеру кэша.

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

2️⃣ Ускорение с помощью SIMD и VML

Использование инструкций SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных одновременно.

При доступности NumExpr использует библиотеку Intel Math Kernel Library (MKL) для трансцендентных функций (таких как sin(), cos(), exp()), что значительно повышает производительность.

3️⃣ Поддержка многозадачного масштабирования

NumExpr автоматически распределяет вычисления между всеми ядрами процессора. Это позволяет эффективно использовать мощности многозадачности, ускоряя вычисления даже при больших данных.

Для работы с NumExpr достаточно заменить стандартные операции NumPy на аналоги NumExpr:
import numexpr as ne
import numpy as np

# Пример массивов
a = np.random.random(1000000)
b = np.random.random(1000000)

# Обычная операция NumPy
result = np.sin(a) + np.cos(b)

# Эквивалент NumExpr
result_ne = ne.evaluate('sin(a) + cos(b)')


Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/05/21 20:16:47
Back to Top
HTML Embed Code: