Data Science | Machinelearning [ru]
Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM. MAX - https://max.ru/devsp Личный блог - @just_genych По вопросам рекламы или разработки - @g_abashkin РКН: https://vk.cc/cJPGXD
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Data Science | Machinelearning [ru]
تُعد قناة Data Science | Machinelearning [ru] (@devsp) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 19 696 مشتركاً، محتلاً المرتبة 6 672 في فئة التكنولوجيات والتطبيقات والمرتبة 33 379 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 19 696 مشتركاً.
بحسب آخر البيانات بتاريخ 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) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
find_stable_patterns(data, min_support), которая находит наиболее часто встречающиеся бинарные шаблоны и возвращает их в виде списка кортежей (или списков).
Шаблон — это строка из 0 и 1, которая в точности совпадает с признаками у нескольких объектов. Если шаблон встречается не менее min_support раз, он считается стабильным.
Решение задачи🔽
from collections import Counter def find_stable_patterns(data, min_support=2): # Преобразуем каждую строку в кортеж (хешируемый тип) patterns = [tuple(row) for row in data] counter = Counter(patterns) # Фильтруем по min_support stable = [list(pattern) for pattern, count in counter.items() if count >= min_support] return stable # Пример использования binary_data = [ [1, 0, 1, 1], [0, 1, 0, 0], [1, 0, 1, 1], [1, 0, 1, 1], [0, 1, 0, 0], [1, 1, 1, 0] ] print(find_stable_patterns(binary_data, min_support=2)) # Ожидаемый результат: # [[1, 0, 1, 1], [0, 1, 0, 0]]
📈 Тренды ML и DS — трансформеры, multimodal AI, SOTA-модели и все, что еще разрывает индустрию 🤝🏼 ML в бизнесе — где алгоритмы приносят $$$, кастдев AI-продуктов 🎤 Ивенты по BD, DS и ML — митапы, конференции, буткемпы, которые стоит посетить 💵 Свободные вакансии — новая работа для ML-инженеров, DS-аналитиков и дата-биздева ⚡ Новости в ML и DS — инсайты из AI-комьюнити, open-source фреймворки, тусовка в исследовательских кругахПодписывайся, чтобы не пропускать свежие материалы и быть в контексте 🔥
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
# Пример: диагностические данные пациента
df = pd.DataFrame({
'age': [25, 40, 60, 35],
'blood_pressure': [120, 130, 150, 110],
'has_disease': [0, 1, 1, 0],
'diagnosis_code': [0, 1, 1, 0] # случайно совпадает с целевой переменной
})
X = df.drop('has_disease', axis=1)
y = df['has_disease']
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
model = LogisticRegression()
model.fit(X_train, y_train)
print("Train accuracy:", model.score(X_train, y_train))
🗣️ В этом примере diagnosis_code напрямую связан с целевой переменной has_disease. Модель «угадывает» ответы на тренировке, но это не работает в реальности. Такое скрытое совпадение — типичный пример data leakage
highly_correlated_features(data, threshold), которая вернёт список пар индексов признаков, корреляция между которыми по модулю превышает указанный threshold (от 0 до 1, не включительно).
Использовать можно только корреляцию Пирсона. Повторы пар и зеркальные дубли учитывать не нужно ((1, 2) и (2, 1) — одно и то же).
Цель:
Выявить признаки, которые слишком сильно "повторяют" друг друга и могут вызвать мультиколлинеарность в моделях.Решение задачи🔽
import numpy as np from itertools import combinations def pearson_corr(x, y): x = np.array(x) y = np.array(y) return np.corrcoef(x, y)[0, 1] def highly_correlated_features(data, threshold=0.9): arr = np.array(data) n_features = arr.shape[1] result = [] for i, j in combinations(range(n_features), 2): corr = pearson_corr(arr[:, i], arr[:, j]) if abs(corr) > threshold: result.append((i, j)) return result # Пример использования X = [ [1, 2, 10], [2, 4, 20], [3, 6, 30], [4, 8, 40], [5, 10, 50] ] print(highly_correlated_features(X, threshold=0.95)) # Ожидаемый результат: [(0, 1), (0, 2), (1, 2)]
Стабильный признак — это признак, у которого стандартное отклонение по всем объектам меньше заданного порога threshold.Реализуйте функцию
find_stable_features(matrix, threshold), которая возвращает список индексов признаков (столбцов), удовлетворяющих этому условию.
Решение задачи🔽
import numpy as np def find_stable_features(matrix, threshold=0.1): data = np.array(matrix) stds = np.std(data, axis=0) stable_indices = [i for i, std in enumerate(stds) if std < threshold] return stable_indices # Пример входных данных X = [ [1.0, 0.5, 3.2], [1.0, 0.49, 3.1], [1.0, 0.52, 3.0], [1.0, 0.5, 3.3], ] print(find_stable_features(X, threshold=0.05)) # Ожидаемый результат: [0, 1]
StandardScaler из библиотеки scikit-learn — это инструмент для нормализации данных. Он приводит признаки (столбцы данных) к одному масштабу со средним значением 0 и стандартным отклонением 1.
Это важно для алгоритмов машинного обучения, чувствительных к масштабу данных — например, линейной регрессии, SVM или KMeans.
➡️ Пример:
from sklearn.preprocessing import StandardScaler
import numpy as np
X = np.array([[10, 200],
[20, 300],
[30, 400]])
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
print(X_scaled)
🗣️ В этом примере значения всех признаков преобразуются так, что каждый столбец имеет среднее значение 0 и одинаковый масштаб. Это ускоряет обучение и повышает качество модели.🖥 Подробнее тут
StandardScaler из scikit-learn и зачем он нужен?
StandardScaler — это инструмент из библиотеки scikit-learn, который стандартизирует данные: приводит их к распределению со средним 0 и стандартным отклонением 1. Это важно перед обучением моделей, особенно для алгоритмов, чувствительных к масштабу (например, SVM, KNN, линейная регрессия).
➡️ Пример:
from sklearn.preprocessing import StandardScaler
import numpy as np
X = np.array([[10, 200], [15, 300], [14, 250]])
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
print(X_scaled)
➡️ После трансформации признаки будут нормализованы, что помогает улучшить сходимость и стабильность модели.
🗣️ StandardScaler — must-have шаг в пайплайне предварительной обработки данных для большинства классических ML-моделей🖥 Подробнее тут
