Data Science | Machinelearning [ru]
Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM. Личный блог автора - @just_genych По вопросам рекламы или разработки - @g_abashkin РКН: https://vk.cc/cJPGXD
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Data Science | Machinelearning [ru]
تُعد قناة Data Science | Machinelearning [ru] (@devsp) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 20 056 مشتركاً، محتلاً المرتبة 6 729 في فئة التكنولوجيات والتطبيقات والمرتبة 33 727 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 20 056 مشتركاً.
بحسب آخر البيانات بتاريخ 13 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -68، وفي آخر 24 ساعة بمقدار -19، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 7.54%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 4.58% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 1 513 مشاهدة. وخلال اليوم الأول يجمع عادةً 919 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 7.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل llm, nvidia, контекст, openai, архитектура.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM.
Личный блог автора - @just_genych
По вопросам рекламы или разработки - @g_abashkin
РКН: https://vk.cc/cJPGXD”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 14 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
"user_id", "action", и "timestamp". Нужно реализовать функцию, которая определит, является ли пользователь "уникальным".
Уникальный пользователь — это тот, кто:
• совершал более 3 действий, • все действия происходили в разные дни, • не совершал одинаковые действия дважды.Верните список
user_id, соответствующих этому критерию.
Решение задачи🔽
from collections import defaultdict from datetime import datetime def find_unique_users(logs): activity = defaultdict(lambda: {"actions": set(), "days": set(), "count": 0}) for log in logs: user = log["user_id"] action = log["action"] date = datetime.fromisoformat(log["timestamp"]).date() activity[user]["actions"].add(action) activity[user]["days"].add(date) activity[user]["count"] += 1 result = [] for user, data in activity.items(): if ( data["count"] > 3 and len(data["days"]) == data["count"] and len(data["actions"]) == data["count"] ): result.append(user) return result # Пример использования logs = [ {"user_id": 1, "action": "login", "timestamp": "2023-05-01T10:00:00"}, {"user_id": 1, "action": "view", "timestamp": "2023-05-02T11:00:00"}, {"user_id": 1, "action": "click", "timestamp": "2023-05-03T12:00:00"}, {"user_id": 1, "action": "logout", "timestamp": "2023-05-04T13:00:00"}, {"user_id": 2, "action": "login", "timestamp": "2023-05-01T10:00:00"}, {"user_id": 2, "action": "login", "timestamp": "2023-05-01T11:00:00"}, {"user_id": 2, "action": "click", "timestamp": "2023-05-01T12:00:00"}, ] print(find_unique_users(logs)) # Ожидаемый результат: [1]
python process_data.py data.csv age 30 — фильтрует строки, где значение в столбце age больше 30, и подсчитывает общее количество таких записей и среднее значение в другом числовом столбце, например, salary.
Решение задачи ⬇️
import csv import sys def process_large_csv(file_path, filter_column, threshold, aggregate_column): count = 0 total_sum = 0.0 with open(file_path, 'r', encoding='utf-8') as file: reader = csv.DictReader(file) for row in reader: # Преобразование значений для фильтрации и агрегации try: filter_value = float(row[filter_column]) aggregate_value = float(row[aggregate_column]) except ValueError: continue # Пропускаем строки с некорректными данными # Фильтрация строк по заданному условию if filter_value > threshold: count += 1 total_sum += aggregate_value # Вывод итоговой статистики if count > 0: average = total_sum / count print(f"Обработано записей: {count}") print(f"Среднее значение {aggregate_column} для записей, где {filter_column} > {threshold}: {average:.2f}") else: print("Записи, соответствующие условиям фильтрации, не найдены.") if __name__ == "__main__": if len(sys.argv) < 5: print("Использование: python process_data.py <file_path> <filter_column> <threshold> <aggregate_column>") sys.exit(1) file_path = sys.argv[1] filter_column = sys.argv[2] threshold = float(sys.argv[3]) aggregate_column = sys.argv[4] process_large_csv(file_path, filter_column, threshold, aggregate_column)
train_test_split() из библиотеки sklearn разбивает данные на обучающую и тестовую выборки.
Это важно, чтобы проверить, как хорошо модель работает на невидимых данных.
➡️ Пример:
from sklearn.model_selection import train_test_split
X = [[1], [2], [3], [4], [5]]
y = [0, 0, 1, 1, 1]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=42)
print("Обучение:", X_train)
print("Тест:", X_test)
🗣️ Почему важно: • Модель не должна учиться на тех же данных, на которых её оценивают • test_size указывает, какой процент данных пойдёт на тест • random_state нужен для воспроизводимости Это один из самых базовых, но обязательных шагов в любом ML-проекте🖥 Подробнее тут
from sklearn.feature_extraction.text import CountVectorizer
texts = ["Я люблю машинное обучение", "Обучение — это интересно"]
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(texts)
print(vectorizer.get_feature_names_out())
print(X.toarray())
# Вывод:
['интересно' 'люблю' 'машинное' 'обучение' 'это' 'я']
[[0 1 1 1 0 1]
[1 0 0 1 1 0]]
🗣️ Токенизация превращает текст в числовую матрицу, понятную модели. Это первый шаг в обработке текста перед обучением моделей на естественном языке.🖥 Подробнее тут
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
