Data Science | Machinelearning [ru]
Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM. Личный блог автора - @just_genych По вопросам рекламы или разработки - @g_abashkin РКН: https://vk.cc/cJPGXD
Показати більше📈 Аналітичний огляд Telegram-каналу Data Science | Machinelearning [ru]
Канал Data Science | Machinelearning [ru] (@devsp) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 19 802 підписників, посідаючи 6 537 місце в категорії Технології та додатки та 33 436 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 19 802 підписників.
За останніми даними від 01 вересня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -110, а за останні 24 години на -2, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 7.88%. Протягом перших 24 годин після публікації контент зазвичай збирає 4.90% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 1 561 переглядів. Протягом першої доби публікація в середньому набирає 970 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 5.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як llm, nvidia, контекст, openai, архитектура.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM.
Личный блог автора - @just_genych
По вопросам рекламы или разработки - @g_abashkin
РКН: https://vk.cc/cJPGXD”
Завдяки високій частоті оновлень (останні дані отримано 02 вересня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
KNeighborsClassifier и сделайте предсказание. Это классическая задача для первых шагов в машинном обучении.
Решение задачи🔽
from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import accuracy_score # Загружаем данные iris = load_iris() X, y = iris.data, iris.target # Делим на обучающую и тестовую выборки X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) # Обучаем модель model = KNeighborsClassifier(n_neighbors=3) model.fit(X_train, y_train) # Предсказание y_pred = model.predict(X_test) # Оценка качества print(f"Точность: {accuracy_score(y_test, y_pred):.2f}")
logging в Python?
logging — это встроенный модуль Python для создания логов, которые помогают отлаживать и мониторить работу приложений.
➡️ Пример:
import logging
# Настройка базового уровня логирования
logging.basicConfig(level=logging.INFO)
# Создание лога
logging.info("Приложение запущено")
logging.warning("Это предупреждение!")
logging.error("Произошла ошибка")
🗣️ В этом примере модуль logging создаёт сообщения разного уровня важности. Логирование позволяет отслеживать работу приложений и находить проблемы в коде.🖥 Подробнее тут
y (список из 0 и 1) и числовой признак x (такой же длины). Нужно реализовать функцию best_split(x, y), которая найдёт такое значение признака, при разделении по которому (меньше/больше) будет максимально уменьшена энтропия классов.
Иными словами, нужно найти лучший threshold, при котором данные делятся на две группы по x, и у этих групп наименьшая средняя энтропия. Это базовая операция в построении деревьев решений, например, в алгоритме ID3.
Цель:
Вернуть threshold, который даёт наилучшее (наименьшее) значение средневзвешенной энтропии.Решение задачи🔽
import numpy as np def entropy(labels): if len(labels) == 0: return 0 p = np.bincount(labels) / len(labels) return -np.sum([pi * np.log2(pi) for pi in p if pi > 0]) def best_split(x, y): x = np.array(x) y = np.array(y) thresholds = sorted(set(x)) best_entropy = float('inf') best_thresh = None for t in thresholds: left_mask = x <= t right_mask = x > t left_entropy = entropy(y[left_mask]) right_entropy = entropy(y[right_mask]) w_left = np.sum(left_mask) / len(x) w_right = 1 - w_left avg_entropy = w_left * left_entropy + w_right * right_entropy if avg_entropy < best_entropy: best_entropy = avg_entropy best_thresh = t return best_thresh # Пример использования x = [2, 4, 6, 8, 10, 12] y = [0, 0, 1, 1, 1, 1] print(best_split(x, y)) # Ожидаемый результат: значение между 4 и 6 (например, 6), так как оно лучше всего делит классы
text = "Hello, world! Hello Python world."
result = count_words(text)
print(result)
# Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}
Решение задачи🔽
import re from collections import Counter def count_words(text): # Убираем знаки препинания и приводим к нижнему регистру words = re.findall(r'\b\w+\b', text.lower()) # Подсчитываем количество вхождений каждого слова return Counter(words) # Пример использования: text = "Hello, world! Hello Python world." result = count_words(text) print(result) # Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}
