ru
Feedback
Data Science | Machinelearning [ru]

Data Science | Machinelearning [ru]

Открыть в Telegram

Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM. Личный блог автора - @just_genych По вопросам рекламы или разработки - @g_abashkin РКН: https://vk.cc/cJPGXD

Больше

📈 Аналитический обзор Telegram-канала Data Science | Machinelearning [ru]

Канал Data Science | Machinelearning [ru] (@devsp) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 20 042 подписчиков, занимая 6 734 место в категории Технологии и приложения и 33 730 место в регионе Россия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 20 042 подписчиков.

Согласно последним данным от 15 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -82, а за последние 24 часа — -1, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 7.88%. В первые 24 часа после публикации контент обычно набирает 4.47% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 1 580 просмотров. В течение первых суток публикация набирает 896 просмотров.
  • Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 7.
  • Тематические интересы: Контент сосредоточен на ключевых темах, таких как llm, nvidia, контекст, openai, архитектура.

📝 Описание и контентная политика

Автор описывает ресурс как площадку для выражения субъективного мнения:
Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM. Личный блог автора - @just_genych По вопросам рекламы или разработки - @g_abashkin РКН: https://vk.cc/cJPGXD

Благодаря высокой частоте обновлений (последние данные получены 16 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.

20 042
Подписчики
-124 часа
+307 дней
-8230 день
Архив постов
👩‍💻 Адаптивный поиск порога "почти одинаковых" векторов У вас есть множество эмбеддингов — векторов признаков объектов (например, предложений, изображений, пользователей). Требуется реализовать функцию find_similar_pairs(vectors, tolerance=0.05), которая возвращает все пары индексов, где косинусная разница между векторами меньше tolerance. Дополнительные условия:
• Векторы могут быть высокой размерности (до 512) • Пара (i, j) считается дубликатом (i < j), если их cosine similarity ~ 1.0 • Не используйте внешние ML-библиотеки: только numpy • Функция должна быть оптимизирована — без грубой проверки каждой пары, если можно
Решение задачи🔽
import numpy as np def cosine_similarity(a, b): a, b = np.array(a), np.array(b) return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b)) def find_similar_pairs(vectors, tolerance=0.05): result = [] n = len(vectors) for i in range(n): for j in range(i + 1, n): sim = cosine_similarity(vectors[i], vectors[j]) if 1 - sim <= tolerance: result.append((i, j)) return result

⚙️ Как построить хороший пайплайн разработки ML-модели Рассказываю, как построить понятный и гибкий ML-процесс: чтобы данные масштабировались, новички вливались, а модель не вела себя как капризный кот. Читать...

⚙️ Линейная регрессия в ML для самых маленьких Поясняю линейную регрессию так, чтобы стало понятно, зачем вообще эта прямая на графике и как с её помощью предсказывать результат по набору чисел. Без лишней математики. Читать...

🌱 Рост идёт от дискомфорта Если задачи всегда кажутся «понятными», значит, ты топчешься на месте. 👉 Совет: бери задачи, от которых чуть некомфортно. Не настолько, чтобы парализовало, а настолько, чтобы пришлось учиться новому. Этот дискомфорт — главный двигатель развития в IT.

⚙️ RAG на практике: чат-бот для корпоративной вики Рассказываю, как делали чат-бота для внутренней документации: где споткнулись, что взлетело, и почему не всё решается embedding'ами. Может, вам сэкономит пару бессонных ночей. Читать...

⚙️ Пишем персонального AI-ассистента на Python Делюсь, как собрать простого голосового ассистента: он сам распознаёт речь, общается с LLM и отвечает голосом. Без GUI, но с кучей потенциала. Всё на Python, всё работает. Читать...

⚙️ Что такое генераторы в Python и зачем они нужны? Генераторы — это функции в Python, которые возвращают значения по одному с помощью ключевого слова yield, вместо полного возврата всех значений сразу. Они полезны для работы с большими объемами данных, так как сохраняют память, генерируя значения на лету. ➡️ Пример:
# Генератор для получения первых N чисел Фибоначчи
def fibonacci(n):
    a, b = 0, 1
    for _ in range(n):
        yield a
        a, b = b, a + b

# Используем генератор
for num in fibonacci(5):
    print(num)

# Вывод: 0, 1, 1, 2, 3
🗣️ В этом примере генератор fibonacci вычисляет числа по запросу, вместо сохранения всех значений в памяти. Это делает генераторы особенно удобными для работы с потоками данных или бесконечными последовательностями.
🖥 Подробнее тут

Стань AI-инженером мирового уровня и зарабатывай до 1 млн. ₽ Уже сейчас работодатели активно ищут таких специалистов, и спрос
Стань AI-инженером мирового уровня и зарабатывай до 1 млн. ₽ Уже сейчас работодатели активно ищут таких специалистов, и спрос на них будет только расти! Магистратура «ИИ и компьютерное зрение» в ИТ-университете НЕЙМАРК — это: 1) онлайн обучение на английском языке 2) 2 диплома: НИУ ВШЭ + НЕЙМАРК 3) реальные задачи от Intel, Huawei, SBERLAB и других 4) возможность запустить стартап при поддержке наставников во время обучения 5) отсрочка от армии Узнай, как поступить и учиться бесплатно — переходи в бот и забирай инструкцию! Реклама. НЕЙМАРК, УНИВЕРСИТЕТ НЕЙМАРК. ИНН 5256209106.

👩‍💻 Определение "аномального" элемента в сбалансированных данных Вам передаётся сбалансированный набор объектов из 3-х различных классов (например, "cat", "dog", "bird"). Каждый объект представлен вектором признаков (list of floats). Один объект — подброшенный и не принадлежит ни одному из трёх известных классов: он отличается распределением. Ваша задача — реализовать функцию detect_outlier(data: List[List[float]], labels: List[str]) -> int, которая возвращает индекс выброса в списке. Гарантируется, что в labels один лейбл может быть "unknown", а может и вовсе отсутствовать — выброс может быть замаскирован. Метрика — средняя евклидова дистанция до других представителей того же класса должна быть на порядок выше, чем у нормальных объектов. Пример данных:
data = [
  [1.1, 0.9], [1.2, 1.0], [0.9, 1.1],     # cat
  [3.0, 3.1], [2.9, 3.0], [3.1, 2.9],     # dog
  [5.0, 5.1], [5.1, 5.0], [8.0, 8.0],     # last — выброс
]

labels = ["cat", "cat", "cat", "dog", "dog", "dog", "bird", "bird", "bird"]
Решение задачи🔽
import numpy as np from collections import defaultdict def detect_outlier(data, labels): data = np.array(data) grouped = defaultdict(list) for i, label in enumerate(labels): grouped[label].append(i) outlier_idx = -1 max_score = -1 for i, point in enumerate(data): label = labels[i] others = [j for j in grouped[label] if j != i] if not others: continue distances = [np.linalg.norm(point - data[j]) for j in others] avg_dist = np.mean(distances) if avg_dist > max_score: max_score = avg_dist outlier_idx = i return outlier_idx # Тест print(detect_outlier(data, labels)) # ➜ 8

⚙️ Обнаружение аномалий в данных временных рядов с помощью статистического анализа Рассказываю, почему статичные пороги — не выход, когда дело доходит до пользовательской активности. Покажу, как в таких случаях спасает обнаружение аномалий. Читать...

Задача классификации с BERT: научи модель BERT понимать настроение отзывов о ресторанах Представь, что ты — владелец сети каф
Задача классификации с BERT: научи модель BERT понимать настроение отзывов о ресторанах Представь, что ты — владелец сети кафе. Каждый день приходят десятки отзывов: кто-то хвалит десерты, кто-то жалуется на медленное обслуживание. Нужно быстро понять, какие отзывы положительные, а какие — негативные. 🔵 Что у тебя уже есть: Предобученная модель BERT, которая умеет работать с текстами, но пока не знает ничего про рестораны. Исторические размеченные отзывы: positive и negative. 💬 Примеры отзывов: — «Лучшие пельмени в городе!» — «Ждали заказ 40 минут, больше не придём» 📌 Что нужно сделать: - Загрузить датасет и разделить его на обучение и тест. - Подготовить тексты для BERT: токенизация, паддинг, усечение. - Дообучить модель на этих отзывах. - Проверить, как она справляется на тесте (accuracy, F1). - Протестировать на своих примерах — вбить пару «живых» отзывов и посмотреть предсказание. 🎯 Результат: Модель, которая сама читает отзывы и понимает их настроение. После курса «NLP / Natural Language Processing» от OTUS вы будете делать такие вещи играючи — и не только с ресторанами. Пройдите короткое вступительное тестирование и получите скидку на обучение: https://vk.cc/cOLspv Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

⚙️ ChatGPT все еще не догнать: что происходит на ИИ-рынке к середине 2025 года? 2025 год подходит к экватору, поэтому самое время посмотреть, как поменялись позиции крупнейших компаний-разработчиков. Но для начала предлагаю посмотреть на две иллюстрации. Первая — рейтинг ИИ от ресурса LMArena. Читать...

⚙️ Залезаем на плечи гигантов — создаем модуль для ComfyUI для свободного движения камеры и создание 6dof сцен из фото Расскажу, как из одного кадра получить свободную 3D-прогулку: доращиваем панорамы, меняем проекции и крутим ракурсы в VR с помощью кастомного модуля для ComfyUI. Читать...

⚙️ Что бы я сделал, если бы сегодня начинал учить Data Science / ML? Эта статья — не очередной «гайд по ML для новичков». Это мой личный взгляд на то, как бы я подошёл к обучению, если бы начинал с нуля уже сегодня , учитывая свой опыт работы в крупных компаниях, проваленные проекты, ошибки и победы.. Читать...

👩‍💻 Чем отличается метод .transform() от .apply() в pandas? В pandas методы .transform() и .apply() часто используются для обработки данных по столбцам и строкам, но они работают по-разному. Метод .apply() применяет функцию к каждому элементу или ряду, и возвращает объект любой формы (например, DataFrame или Series). В отличие от него, .transform() применяет функцию к каждой ячейке или группе и возвращает объект той же формы, что и входной. ➡️ Пример:
import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [10, 20, 30]})

# Используем .apply() для вычисления суммы по столбцам
print(df.apply(sum))  # Вернет Series с суммами столбцов

# Используем .transform() для нормализации каждого значения в столбце
print(df.transform(lambda x: (x - x.mean()) / x.std()))
# Вернет DataFrame с нормализованными значениями
🗣 .apply() подходит для сложных операций и агрегаций, а .transform() удобно использовать для обработки данных с сохранением исходной структуры.
🖥 Подробнее тут

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

⚙️ Прогнозирование исходов футбольных матчей в реальном времени с помощью байесовской модели Показываю, как модель с динамической силой команд предсказывает исходы матчей лучше классики. Не угадываю счёт, но выигрываю на ставках. У букмекеров шансы тают. Читать...

👩‍💻 Построй визуализацию распределения признаков с автоматической категоризацией Создайте функцию plot_distributions, которая принимает DataFrame и автоматически определяет числовые и категориальные признаки. Затем строит гистограммы или bar-графики в зависимости от типа данных. Это удобно для EDA (исследовательского анализа данных). Решение задачи🔽
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns def plot_distributions(df, max_categories=10): for column in df.columns: plt.figure(figsize=(6, 4)) if pd.api.types.is_numeric_dtype(df[column]): sns.histplot(df[column].dropna(), kde=True) plt.title(f'Гистограмма: {column}') elif df[column].nunique() <= max_categories: df[column].value_counts().plot(kind='bar') plt.title(f'Категории: {column}') else: print(f'Пропущен {column}: слишком много уникальных категорий') continue plt.tight_layout() plt.show() # Пример использования df = pd.DataFrame({ 'age': [23, 45, 31, 35, 62, 44, 23], 'gender': ['male', 'female', 'female', 'male', 'male', 'female', 'female'], 'income': [40000, 50000, 45000, 52000, 61000, 48000, 46000] }) plot_distributions(df)

⚙️ Похож ли ваш текст на ИИ? Пытаюсь вычленить шаблоны, по которым палятся тексты от нейросетей: гладкие, пустые, «умные». И придумать способ автоматом понять — писал ли это ИИ или просто скучный человек. Читать...