Анализ данных (Data analysis)
Data science, наука о данных. @haarrp - админ РКН: clck.ru/3FmyAp
Показати більше📈 Аналітичний огляд Telegram-каналу Анализ данных (Data analysis)
Канал Анализ данных (Data analysis) (@data_analysis_ml) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 50 256 підписників, посідаючи 2 657 місце в категорії Технології та додатки та 12 484 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 50 256 підписників.
За останніми даними від 25 червня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 38, а за останні 24 години на 0, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 8.85%. Протягом перших 24 годин після публікації контент зазвичай збирає 6.52% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 4 447 переглядів. Протягом першої доби публікація в середньому набирає 3 278 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 28.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як llm, контекст, openai, архитектура, deepseek.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Data science, наука о данных.
@haarrp - админ
РКН: clck.ru/3FmyAp”
Завдяки високій частоті оновлень (останні дані отримано 26 червня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
Sklearn, но с большим объёмом данных её использовать не получиться. Spark позволяет реализовать параллельные вычисления на кластерах и имеет в составе своего фреймворка библиотеку машинного обучения MLlib. В случае больших данных, когда привычные инструменты отказываются работать с такими объёмами, PySpark приходит на выручку.
При этом, прежде чем запустить алгоритмы машинного обучения на вашем датасете, необходимо подготовить данные и провести feature engineering, а это достаточно трудозатратная задача, но в то же время необходимая, так как от этого этапа во многом зависит качество конечного результата. Данный этап также необходимо делать на PySpark, опять-таки из-за объёма данных.
Перед нами стояла задача анализа массива данных заёмщиков физических лиц – злостных неплательщиков кредитов, дела по которым уже направлены в суд. Этот массив необходимо было разбить на блоки (кластеры). Цель кластерного анализа – понять, какие группы по общим признакам можно выделить, и в дальнейшем разработать для каждой группы индивидуальную тактику взыскания, и, возможно, найти пути улучшения методологии скоринга.
1. Подготовка данных
1.1. Идеи
Подготовка данных – этап, предшествующий анализу и требующий хорошего понимания предметной области. Предобработка осуществляется если не руками самого эксперта в этой области, то в очень тесном с ним сотрудничестве. Останавливаться на предварительной подготовке данных долго не будем, поскольку общих рекомендаций здесь не выработать, только кратко отметим основные моменты, которые мы произвели с нашим датасетом и которые отличаются от классической борьбы с отсутствующими значениями.
Выбирали признаки, которые:
• непосредственно характеризуют именно самого заёмщика, а не кредитный продукт, не договор и прочее;
• имеют значение до выхода на просрочку (то есть, например, данные по процедурам взыскания в анализ не берём, так как хотим разобраться в причинах, которые к этому привели).
Убрали признаки:
• дублирующие друг друга по существу (например, остаток основного долга (ОД) в валюте и остаток ОД в рублях – достаточно оставить только один показатель);
• по которым слишком много вариантов (например, 100-200 значений для признака «должность на месте работы»).
В результате предобработки датасета количество исходных данных существенно сократилось. В исходном датасете количество признаков достигало 191, после чистки на основе описанных выше идей их осталось 43. Среди них:
• признаки, связанные с первым кредитным договором: вид кредитования, срок кредита, признак реструктуризации, дата выдачи кредита, ставка, валюта и т.д.;
• числовые признаки (итого по всем договорам): сумма обеспечения, сумма общей задолженности в рублях, сумма погашений по основному долгу;
• признаки — индивидуальные характеристики заёмщика: пол, возраст, резидентство, признак vip, наличие заграничного паспорта, категория надёжности, данные, связанные с рабочей деятельности, данные, связанные с собственностью и т.д.
1.2 Реализация на PySpark
После импорта необходимых библиотеки и создания сессии Spark, входной точки каждого PySpark приложения, загружаем исходные данные и подготовленный совместно с экспертом список признаков в объекты Spark DataFrame. DataFrame – одна из двух абстракций массива данных в Spark (вторая абстракция — RDD), которая предоставляет более высокоуровневое API (по сравнению с RDD). Метод загрузки данных зависит от формата файла (в рассматриваемом примере CSV, но может быть JSON, ORC, Parquet и др.).
Далее на основе списка признаков из исходного датасета отбираем нужные колонки. Затем группируем полученный массив данных по идентификатору заёмщика, при этом для колонок с числовыми значениями данные суммируем, а для колонок с категориальными значениями оставляем только первое значение.
📌 Читать
@data_analysis_mlConfident Learning!
На картинке 2 приведено упрощенное объяснение этого алгоритма!
Библиотека работает с:
- Любыми данными (текст, изображения, таблицы, аудио и т.д.)
- Любые задачи ML (классификация,, распознавание, работа с LLM и многое другое ...)
• Github
@data_analysis_mlchunksize=100000, что работает примерно в 5495 раз быстрее, чем без использования chunksize.
#tips #datascience #junior
@data_analysis_ml Data Science, который часто используется различными организациями при принятии решений с целью оптимизации существующего продукта и максимизации прибыли.
Представлю, что компания, продающая мебель, хочет увеличить число кликов по баннеру «Мебель на заказ». Они значительно изменили дизайн сайта для этой цели. К сожалению, не существует способов предсказать, как именно изменится поведение людей на обновленном сайте по сравнению со старой версией. А/В-тестирование может помочь, например, измерить разницу в конверсии между двумя версиями сайта и сказать, является ли эта разница статистически значимой.
Нулевая гипотеза в рамках А/В-тестирования – предположение о том, что разницы между версиями сайта А и В в действительности нет, а все наблюдаемые различия обусловлены случайностью. Моя задача в ходе А/В-тестирования – опровергнуть нулевую гипотезу. Альтернативная гипотеза в рамках А/В-тестирования утверждает, что версии сайта А и В различны с точки зрения поведения пользователей.
Уровень значимости – это порог вероятности для определения того, являются ли результаты эксперимента статистически значимыми. Чаще всего уровень значимости устанавливается равным 0,05. Это значит, что моё утверждение о значимости результата будет справедливо на 95%. Чем ниже выбранный уровень значимости, тем ниже риск того, что будет обнаружена разница, вызванная случайностью.
P—value – это вероятность наблюдения данного результата при условии, что нулевая гипотеза верна. Если p-value меньше, чем уровень значимости (α), то отвергается нулевая гипотеза в пользу альтернативной (то есть результаты являются статистически значимыми). Например, при уровне значимости 0,05 p-value должна быть меньше 0,05 для признания результатов эксперимента статистически значимыми.
Доверительный интервал – интервал значений, в котором, с вероятностью (1- α), лежит истинное значение переменной. Доверительный интервал является оценкой возможных значений переменной в зависимости от её стандартного отклонения.
Статистическая мощность – вероятность отклонения нулевой гипотезы в случае, если альтернативная гипотеза верна. Обычно статистическая мощность теста устанавливается равной 0,8. Это значение используется для вычисления размера выборки, необходимой для подтверждения гипотезы с необходимой силой эффекта.
Организация эксперимента
Для проведения А/В-теста требуется разделить всех пользователей на две группы: одна группа будет видеть старый дизайн сайта, а другая – новый. Пользователи распределяются между группами случайным образом. Как правило, группу, которой показывают новый дизайн сайта (В), называют тестовой, а группу, которой показывают старый дизайн (А) – контрольной.
Целевая метрика – CTR, то есть количество кликов на баннер, делённое на количество показов. Буду сравнивать среднее значение метрики CTR для контрольной и тестовой групп. Предположу, что в контрольной группе среднее значение метрики составляет 12%, а в тестовой – 14%.
Если среднее значение метрики в тестовой группе выше, чем в контрольной, то означает ли это, что дизайн сайта В лучше дизайна сайта А? Ответ: нет. Необходимо показать, что результаты А/В-теста статистически значимы. Это означает, что различие в версиях наблюдается не случайно и не обусловлено какой-либо ошибкой. Проверить это можно с помощью статистических тестов.
Не буду заниматься сбором данных в рамках данной публикации. Буду анализировать данные, взятые из датасета с Kaggle. Скачать его можно здесь.
📌 Читать дальше
@data_analysis_mlfrom sklearn.model_selection import train_test_split
def split_dataset(data, target, train_size=0.5, random_state=42):
# Разделение датасета на обучающий набор и остальные данные
X_train, remaining_data, y_train, remaining_target = train_test_split(
data, target, train_size=train_size, random_state=random_state
)
# Разделение оставшихся данных поровну на тестовый и валидационный наборы
X_val, X_test, y_val, y_test = train_test_split(
remaining_data, remaining_target, test_size=0.5, random_state=random_state
)
return X_train, X_val, X_test, y_train, y_val, y_test
1. Установление общепринятой базовой оценки
Как понять, вносят ли вклад в конечный продукт — идеальную модель — ваши действия в МО-проекте?
Подход “могу определить навскидку” не годится. Здесь нужна путеводная звезда — некий ориентир, на который всегда можно опереться, чтобы понять, может ли только что подготовленная модель пройти хотя бы простейшие тесты.
Как вы неоднократно убеждались на опыте своих проектов, эта путеводная звезда является общепринятой базовой эффективностью.
После идентификации задачи машинного обучения, выбора характеристик и определения целевой переменной вы устанавливаете либо DummyRegressor, либо DummyClassifier, чтобы оценить эффективность модели случайного угадывания для конкретной задачи. Эта оценка служит базовой, и все последующие эксперименты направлены на улучшение этого начального результата.
from sklearn.dummy import DummyClassifier
clf = DummyRegressor().fit(X_train, y_train)
clf.score(X_test, y_test)
Вы не устаете рекомендовать эту практику другим, включая вашего лучшего друга.
Однажды по глупости он перепробовал все подходящие для задачи классификации изображений Sklearn-модели и все более сложные архитектуры глубокого обучения, пытаясь выяснить, почему все его эксперименты не дают результата выше определенного порога.
Когда вы напомнили ему о базовой оценке, он попробовал DummyClassifier и понял: задача в принципе была неразрешима и все его усилия оказались пустой тратой времени, потому что ни один из его экспериментов не смог превзойти модель случайного угадывания. Ему пришлось искать новый набор данных.
Ничто не сравнится с ужасом перед оверинжинирингом (чрезмерным инжинирингом), когда модель, казавшаяся исключительной, оказалась совершенно неэффективной.
📌 Читать дальше
@data_analysis_ml
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
