Data Science | Machinelearning [ru]
Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM. MAX - https://max.ru/devsp Личный блог - @just_genych По вопросам рекламы или разработки - @g_abashkin РКН: https://vk.cc/cJPGXD
Больше📈 Аналитический обзор Telegram-канала Data Science | Machinelearning [ru]
Канал Data Science | Machinelearning [ru] (@devsp) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 19 699 подписчиков, занимая 6 672 место в категории Технологии и приложения и 33 379 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 19 699 подписчиков.
Согласно последним данным от 31 октября, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -102, а за последние 24 часа — -1, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 7.84%. В первые 24 часа после публикации контент обычно набирает 4.63% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 544 просмотров. В течение первых суток публикация набирает 913 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 4.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как llm, nvidia, контекст, openai, архитектура.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM.
MAX - https://max.ru/devsp
Личный блог - @just_genych
По вопросам рекламы или разработки - @g_abashkin
РКН: https://vk.cc/cJPGXD”
Благодаря высокой частоте обновлений (последние данные получены 01 ноября, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
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)
.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() удобно использовать для обработки данных с сохранением исходной структуры.🖥 Подробнее тут
def accuracy_score(y_true, y_pred): correct = 0 for true, pred in zip(y_true, y_pred): if true == pred: correct += 1 return correct / len(y_true) # Пример использования: y_true = [1, 0, 1, 1, 0, 1] y_pred = [1, 0, 0, 1, 0, 1] print(accuracy_score(y_true, y_pred)) # 0.833...
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
