Постановка ML-задачи и работа с данными

Exploratory Data Analysis: распределения и аномалии

Содержание курса

0 / 1 баллов

Найдите выбросы методом межквартильного размаха

В payload['df'] приходит DataFrame с числовым столбцом value. Найдите в нём выбросы и верните их описание одним словарём.

Границы строятся от квартилей, где Q1 и Q3 — 25-й и 75-й перцентили:

IQR = Q3 - Q1
нижняя граница = Q1 - 1.5 * IQR
верхняя граница = Q3 + 1.5 * IQR

Значение считается выбросом, если оно строго меньше нижней границы или строго больше верхней.

Верните словарь:

{
    "outliers_indices": [...],   # индексы строк с выбросами
    "lower_bound": float,        # нижняя граница
    "upper_bound": float,        # верхняя граница
    "outliers_ratio": float,     # доля выбросов от общего числа строк
}

Если выбросов нет, список пустой, а доля равна нулю.

Квантили считайте через pandas.Series.quantile() с интерполяцией по умолчанию: от метода зависят границы, а с ними и результат проверки.

Пример

value: [1, 2, 3, 4, 5, 100]

Q1 = 2.25, Q3 = 4.75, IQR = 2.5
нижняя граница = 2.25 - 1.5 * 2.5 = -1.5
верхняя граница = 4.75 + 1.5 * 2.5 = 8.5

Единственный выброс — 100, строка с индексом 5.

{
    "outliers_indices": [5],
    "lower_bound": -1.5,
    "upper_bound": 8.5,
    "outliers_ratio": 0.166667
}
О данных в ответах

Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.

РешениеPython · Python 3.12 (data: numpy, pandas, sklearn...)
Как проверяется решение

Проверяются функции и их результаты. Собственный запуск выполняет ваш код без авторских тестов. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.

Отправьте решение, чтобы увидеть результаты тестов.

Начать заново?

Помощник начнёт новый диалог по этой задаче. Текущая переписка останется в истории до конца срока хранения.

О переписке

Можно приложить до трёх фото PNG, JPEG или WebP по 5 МБ.

Переписка и фото хранятся 90 дней после последнего принятого сообщения. Преподаватель получит доступ к диалогу, когда вы попросите его помочь.

Проверка решения остаётся отдельным действием.