Telegram Web
📊 Математика для Data Science: терминология и обозначения

Для работы с данными нужны базовые математические знания. В первой статье нашего путеводителя разбираем ключевые символы и термины Data Science.

В выпуске:
• действительные и комплексные числа,
• векторы и матрицы,
• компактная запись сумм и произведений (сигма- и пи-нотация),
• обзор логарифмов.

Начинаем с основ, чтобы уверенно двигаться к сложным темам!

▶️ Читайте по ссылке: https://proglib.io/sh/pSwegRq1o0

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍1
😐 Холивар: метрика Accuracy — вообще уместна ли в реальных задачах

Особенно — при дисбалансе классов.

▶️ Что такое Accuracy

Accuracy (точность классификации) — доля правильно предсказанных объектов:
accuracy = (TP + TN) / (TP + TN + FP + FN)


Но… эта метрика вводит в заблуждение, когда классы несбалансированы.

▶️ Пример

Допустим, модель предсказывает мошенничество (fraud) по транзакциям:
👉 Класс 0 — «не мошенничество» — 99.5%
👉 Класс 1 — «мошенничество» — 0.5%

# Модель всегда говорит не мошенничество
y_pred = [0] * 1000
y_true = [0]*995 + [1]*5

from sklearn.metrics import accuracy_score
accuracy_score(y_true, y_pred) # → 0.995


📈 Accuracy = 99.5%. Но модель никогда не находит мошенников. Она бесполезна.

▶️ Почему это проблема

👉 Смещение метрики: высокий accuracy может скрывать полное отсутствие качества по минорному классу
👉 Нет контроля над важными ошибками: FP и FN не различаются по «цене»
👉 Опасно в задачах медицины, безопасности, финансов

▶️ Когда Accuracy всё-таки уместна

👉 Классы сбалансированы
👉 FP и FN одинаково критичны
👉 Модель baseline или задача игрушечная
👉 Используется совместно с другими метриками

▶️ Альтернативы

👉 Precision / Recall / F1-score
👉 ROC-AUC / PR-AUC
👉 Balanced Accuracy
👉 Cohen’s Kappa, MCC
👉 Confusion matrix — всегда полезно посмотреть

💬 А вы что используете в своих задачах с дисбалансом классов? Бывали ситуации, где accuracy сыграла с вами злую шутку?

Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍741
😱 Уже завтра — вебинар про AI-агентов! Мест почти не осталось

На вебинаре вы получите то, чего нет в открытых источниках — живой разбор, примеры и прямой диалог с экспертом. Но только если придёте.

➡️ Что будет:
— покажем структуру курса и ключевые модули
— обсудим вопросы, которые обычно остаются за кадром
— разберём реальные кейсы: как применять AI-агентов — от чат-ботов до систем поддержки решений

📅 Уже 23 июня в 19:00 МСК
🎙️ Ведёт Никита Зелинский — эксперт в AI и DS

👉 Зарегистрируйтесь заранее, чтобы не забыть:
https://clc.to/_lDV0Q

🫢 Для тех, кто дочитал до конца → промокод lucky, он даст −5.000₽ на курс
📦 Polars 1.31: динамическая работа с типами данных в LazyFrame

Свежий релиз Polars приносит важное обновление: DataType Expressions, которые позволяют лениво определять типы данных выражений и колонок. Теперь можно строить более гибкие и повторно используемые запросы, не вызывая .collect_schema().

Раньше невозможно было «на лету» привести тип данных столбца, не зная его заранее. Теперь это можно сделать с помощью новой функции:
pl.dtype_of("column_name")  # вернет DataTypeExpr


Примеры использования:
lf = pl.scan_parquet("path/to/file")

lf.with_columns(
a = pl.col("b").cast(pl.dtype_of("c"))
).collect()


Также появились удобные методы для работы с DataTypeExpr:
.supertype_with()
.equals() / .not_equals()
.repr()

➡️ Это MVP-функциональность, поэтому для некоторых выражений (например, shrink_dtype, reshape) пока будет выбрасываться ошибка.

📚 Документация и детали: https://clc.to/uxiJPQ

Библиотека дата-сайентиста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥32👍2
👍 Свежие новости из мира AI и Data Science

🚀 Модели, платформы и агенты
Gemini 2.5 обновлён — Google расширяет линейку: появились Flash, Pro и Flash-Lite Preview
OpenAI: практическое руководство по агентам — как выстраивать агентную архитектуру с защитами, обратной связью и менеджером
Midjourney запускает видео-модель — генерация 5-секундных роликов из изображений уже в браузере

🛡 Исследования и безопасность
SHADE-Arena от Anthropic — бенчмарк для выявления скрытого вредоносного поведения моделей в сложных задачах
Новая речь Дженсена Хуана (NVIDIA) — ключевые тренды: AI-заводы, агентные системы, новая волна вычислений
Альтман vs Meta* — зачем Meta* предлагала \$100M бонусы и что OpenAI планирует дальше

🔍 Практика и статьи
Генерация синтетических документов
ML-пайплайн от А до Я
Как обучать модели прогнозировать грозы
Обнаружение аномалий во временных рядах
Тест LLM на RTX 3090 vs 2×5060 Ti

🧑‍💻 Для развития
Зачем писать промпты в 2025-м — даже если вы не программист
Как начать изучать DS/ML сейчас
Karpathy: Software Is Changing Again — краткий доклад о будущем ИТ в эпоху ИИ

* признанной экстремистской на территории Российской Федерации

Библиотека дата-сайентиста #свежак
5👍3
💫 Топ-вакансий для дата-сайентистов за неделю

Data Scientist (Junior) —‍ до 90 000 ₽, удалёнка (Москва)

Machine Learning Engineer (VK Реклама) —‍ от 350 000 ₽, гибрид (Москва)

ML researcher —‍ до 300 000 ₽, удалёнка

Data Scientist —‍ от 300 000 до 400 000 ₽, удалёнка

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

Библиотека дата-сайентиста
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
🔴 Dataframely — проверка схем и валидация для Polars

Dataframely — это мощная библиотека для валидации данных в Polars DataFrame с поддержкой как runtime-проверок, так и статической типизации.

🔳 Особенность — удобная работа с комплексными схемами, строгими типами и кастомными правилами валидации.

Пример определения схемы пользователя:
import polars as pl
import dataframely as dy

class UserSchema(dy.Schema):
user_id = dy.Int64(primary_key=True, min=1, nullable=False)
age = dy.Int64(nullable=False)
email = dy.String(nullable=False, regex=r"^[^@]+@[^@]+\.[^@]+$")
score = dy.Float64(nullable=False, min=0.0, max=100.0)

@dy.rule()
def age_in_range() -> pl.Expr:
return pl.col("age").is_between(18, 80, closed="both")


— Объявляем типы и ограничения для колонок (в том числе primary key)
— Добавляем регулярные выражения для проверки email
— Пишем кастомные правила через декоратор @dy.rule() (например, проверка возраста)

Проверка данных и автоматическое приведение типов:
validated_data = UserSchema.validate(user_data, cast=True)


cast=True помогает автоматически привести типы колонок к нужным (например, если числа загружены как строки).

🔛 Мягкая валидация с подробным анализом ошибок

Dataframely не просто выбрасывает ошибку, а даёт подробный отчёт о невалидных строках:
good_data, failure_info = UserSchema.filter(user_data, cast=True)

print("Количество валидных строк:", len(good_data))
print("Статистика ошибок:", failure_info.counts())
print("Анализ совмещённых ошибок:", failure_info.cooccurrence_counts())
print("Не прошедшие проверку данные:", failure_info.invalid())


🔛 Почему это круто:
— Типобезопасность и проверка на этапе выполнения
— Интеграция с Polars — современным и быстрым DataFrame-фреймворком
— Гибкие правила валидации (включая regex и кастомные функции)
— Подробный разбор ошибок с возможностью работать с валидными и невалидными строками отдельно

🔛 Ссылка на проект: https://clc.to/turByA

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52
🧠 Математика для Data Science: с чего начать

Если вы хотите уверенно читать статьи, книги и документацию по Data Science, без знания математического языка не обойтись. Но с чего начать, чтобы не утонуть в формулах?

📌 Мы запускаем серию статей, где по шагам разберем все ключевые темы: от базовых обозначений до сложных алгоритмов.

👀 В первой части — самые основы:
— Что такое ℝ, ℕ, ℤ, ℂ и зачем это знать
— Как устроены векторы и матрицы
— Как читать ∑ и ∏ без паники
— Почему логарифмы — лучшие друзья аналитика

🔗 Читайте первую статью и заложите прочный фундамент для освоения Data Science: https://proglib.io/sh/pSwegRq1o0

Библиотека дата-сайентиста #буст
7👍4
🧑‍💻 Промт дня: как находить и обрабатывать выбросы в данных

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

🎯 Вот промт, чтобы системно подойти к проблеме:
У меня есть датафрейм с числовыми признаками. Помоги:

– Найти выбросы с помощью стандартных методов: Z-оценка, IQR, Tukey fences, modified Z-score
– Построить визуализации: boxplot, scatter, histogram, isolation forest
– Разделить признаки по плотности выбросов
– Предложить: удалять выбросы, каппировать, логарифмировать, заменять
– Проверить, влияют ли выбросы на корреляции и важность признаков
– Обнаружить мультипризнаковые выбросы (multivariate outliers) с помощью: Mahalanobis distance, One-Class SVM, Isolation Forest

Посоветуй стратегии для ML:
– оставлять как есть
– обработать в препроцессинге
– использовать модели, устойчивые к выбросам (например, robust regression)


Особенно важно в задачах регрессии и при работе с сенсорными/временными данными.

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2
📝 Немного инсайтов из третьего модуля курса

Сейчас большинство представлений об ИИ ограничиваются одним агентом — моделькой, которая что-то предсказывает, генерирует или классифицирует.

Но реальный прорыв начинается, когда этих агентов становится несколько.
Когда они начинают взаимодействовать друг с другом.
Когда появляется координация, распределение ролей, память, планирование — всё это и есть мультиагентные системы (MAS).

➡️ Пока кто-то думает, что это звучит как научная фантастика, индустрия уже переходит к новым уровням сложности:
— Microsoft делает язык DroidSpeak для общения между LLM
— Open Source-фреймворки вроде LangChain, AutoGen, CrewAI, LangGraph — бурно развиваются
— компании, включая МТС, уже применяют MAS в боевых задачах

🎓 На курсе мы подходим к этому практично:
🔵 разбираем, как устроены MAS
🔵 пишем агентов с нуля
🔵 учимся выстраивать взаимодействие: конкуренцию, кооперацию, планирование

Именно на третьем уроке вы впервые собираете не просто «умного бота», а живую систему из агентов, которая работает вместе — как команда.

Причём по-настоящему: врач, SQL-аналитик, travel-планировщик, Python-генератор, поисковик.

🙂 Если хочется не просто использовать ИИ, а проектировать системы, которые думают, планируют и сотрудничают тогда забирайте курс по ИИ-агентам
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1😁1
😠 Как заставить ИИ отвечать актуально и без «галлюцинаций»

«Модель начала галлюцинировать…»

Сначала она отвечала нормально, а потом вдруг выдала что-то абсолютно неуместное.
Знакомо?

Так называемые галлюцинации — это частое поведение генеративных языковых моделей (LLM), при котором они создают правдоподобный, но неточный или выдуманный текст.

❗️ Проблема особенно критична, когда мы используем ИИ-модели в задачах, где от качества ответа зависят решения — будь то медицина, право или бизнес.

Почему LLM «галлюцинируют»

Дело не столько в том, как они генерируют текст, а в том, на чём они его основывают.

После обучения модель «застывает» в той информации, на которой её натренировали. Чтобы она узнала что-то новое — её нужно переобучить, а это дорого и долго.

Встречайте RAG — Retrieval-Augmented Generation

Решение пришло в виде гибридной архитектуры, которая совмещает два мира:
1. Генеративную модель (например, GPT), которая хорошо формулирует текст.
2. Поисковый модуль, который может «подтягивать» актуальную информацию из внешних источников.

Эта комбинация позволяет получать гладкий, связный текст, основанный на актуальных данных, даже если сама модель о них не знала изначально.

Как работает RAG

1. Модуль поиска (retrieval): он ищет релевантные документы по запросу пользователя — в базе знаний, интернете или другом хранилище.

2. Модуль генерации: LLM использует найденные документы как контекст и создаёт ответ. Таким образом, текст создаётся не «из головы» модели, а на основе найденной информации.

Пример в реальной жизни

Если вы используете Gemini от Google и спрашиваете про Бруклинский мост, внизу видны источники, откуда модель взяла информацию. Это — типичная реализация RAG.

Как модель находит нужные документы

Обычно используется метод Dense Passage Retrieval (DPR) — он ищет по смыслу, а не по ключевым словам, в отличие от старых методов вроде BM25 или TF-IDF.

Но у него тоже есть минусы:
— Он может «притягивать» нерелевантные документы.
— Иногда работает хуже, если нужная информация не была в изначальном обучении DPR.

Производительность

Минус RAG — каждый запрос требует два шага:
1. Найти документы.
2. Сгенерировать ответ.

Это может быть дорого по вычислениям, особенно в реальном времени. Чтобы ускорить:
— Применяют упрощённые модели (model pruning).
— Используют дистилляцию знаний (knowledge distillation) — переносят знания большой модели в компактную.

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🤩3
This media is not supported in your browser
VIEW IN TELEGRAM
🔮 Пора перестать верить в магические модели

И начать их понимать.

📦 InterpretML — мощный open-source фреймворк от Microsoft для интерпретации моделей машинного обучения.

Он объединяет лучшие техники explainability под одной оболочкой:
📝 Обучайте прозрачные модели (glassbox)
📝 Объясняйте поведение черных ящиков (blackbox)
📝 Анализируйте как глобальное поведение, так и отдельные предсказания

Зачем вообще объяснять ML-модель:
✔️ Отладка модели: почему она ошиблась в этом примере
✔️ Feature Engineering: какие признаки реально важны, а что мусор
✔️ Фейрность и этика: не дискриминирует ли модель по полу, возрасту, расе
✔️ Регуляции (законы по контролю ИИ): можем ли мы объяснить, почему модель отказала в кредите
✔️ Человеко-машинное доверие: как врач может поверить в диагноз от модели, если не понимает, почему

Установка:
pip install interpret
# или
conda install -c conda-forge interpret


🔥 Холивар: а вообще, нужно ли объяснять ML-модели?

📝 Мнение №1:
Зачем? Главное — метрика. Если ROC-AUC 0.97 — модель хороша.
→ Black-box → Profit


📝 Мнение №2:
Если ты не можешь объяснить — значит, ты не понимаешь. А значит, и модель не готова к продакшену.


📝 Мнение №3:
Модели должны быть интерпретируемы там, где это критично — медицина, финансы, суд.
В TikTok-рекомендателе — пофиг. В банковском скоринге — нельзя игнорировать.


А как вы считаете? Напишите в комментарии или оставьте реакцию:
🔥 — Да, объяснение критично
❤️ — Нет, главное — точность
👍 — Зависит от задачи

💣 Понравился пост? С ваc буст, а с нас больше топового контента!

Библиотека дата-сайентиста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍133🔥2
2025/07/08 17:57:53
Back to Top
HTML Embed Code: