Data Science | Machinelearning [ru]
Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM. Личный блог автора - @just_genych По вопросам рекламы или разработки - @g_abashkin РКН: https://vk.cc/cJPGXD
Show more📈 Analytical overview of Telegram channel Data Science | Machinelearning [ru]
Channel Data Science | Machinelearning [ru] (@devsp) in the Russian language segment is an active participant. Currently, the community unites 19 802 subscribers, ranking 6 537 in the Technologies & Applications category and 33 436 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 19 802 subscribers.
According to the latest data from 01 September, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -110 over the last 30 days and by -2 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 7.88%. Within the first 24 hours after publication, content typically collects 4.90% reactions from the total number of subscribers.
- Post reach: On average, each post receives 1 561 views. Within the first day, a publication typically gains 970 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 5.
- Thematic interests: Content is focused on key topics such as llm, nvidia, контекст, openai, архитектура.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM.
Личный блог автора - @just_genych
По вопросам рекламы или разработки - @g_abashkin
РКН: https://vk.cc/cJPGXD”
Thanks to the high frequency of updates (latest data received on 02 September, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
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]
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
data = load_iris()
X, y = data.data, data.target
clf = RandomForestClassifier()
scores = cross_val_score(clf, X, y, cv=5)
print(f'Средняя точность: {scores.mean()}')
Здесь модель обучается 5 раз (5-fold) на разных частях данных, и вычисляется средняя точность.
🗣️ Кросс-валидация помогает лучше понять, как модель будет работать на новых данных, улучшая её обобщение.🖥 Подробнее тут
k-NN, SVM, градиентный спуск) чувствительны к разнице в диапазонах данных
➡️ Пример:
from sklearn.preprocessing import StandardScaler
import numpy as np
X = np.array([[1, 100], [2, 300], [3, 500]])
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
print(X_scaled)
🗣️ В этом примере признаки приводятся к виду с нулевым средним и единичным стандартным отклонением.Без масштабирования одна "большая" переменная может полностью доминировать над другими.. 🖥 Подробнее тут
