Menu
CoddyTech

Процентили и квартили

Часть раздела Статистика для машинного обучения путешествия по Machine Learning на Coddy. Урок 2 из 64.

Процентиль делит упорядоченные данные: 25-й находится на четверти пути, 50-й — это медиана. Время прохождения комнаты-квеста для девяти участников:

Время прохождения комнаты-квеста для девяти участников показано точками на линии от 38 до 95 секунд. Линии отмечают Q1 на 45, Q2 на 52 и Q3 на 61, а заштрихованный прямоугольник от Q1 до Q3 обозначен как средняя половина, IQR равен 16

Границы, разделяющие данные на четверти, называются квартилями Q1, Q2 и Q3. np.percentile(a, q) принимает q от 0 до 100 или список:

times = np.array([52, 38, 61, 45, 70, 41, 95, 58, 49])
print(np.percentile(times, [25, 50, 75]))

Это выводит:

[45. 52. 61.]

Средняя половина простирается от Q1 до Q3; её ширина — межквартильный размах, Q3 - Q1: 16 секунд.

Установи самое медленное время равным 950: IQR остаётся равным 16. Доверяй ему, когда у признака есть экстремальные значения.

challenge icon

Задание

Легко

Клиент спрашивает, как его расход воды соотносится с расходом воды в 20 домах на его улице. В use хранятся значения расхода воды в литрах для домов, а программа считывает значение клиента. Выведите:

  1. Квартили use: Q1, медиану, Q3.
  2. IQR.
  3. Квартиль клиента: 1, если значение меньше Q1; 2, если меньше медианы; 3, если меньше Q3; в противном случае 4.

Для улицы с 12 домами и входных данных 172:

Quartiles: 157.5, 170.5, 183.5 liters
IQR: 26.0 liters
This home is in quarter 3

Попробуйте сами

import numpy as np

# Количество литров воды, израсходованное каждым домом вчера
use = np.array([312, 285, 410, 198, 356, 274, 520, 301, 289, 345,
                262, 398, 230, 610, 327, 295, 368, 251, 334, 280])
liters = int(input())

# Напишите свой код ниже
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Статистика для машинного обучения

Потренируйтесь самостоятельно: Онлайн-компилятор Python