Menu
CoddyTech

백분위수와 사분위수

Coddy Machine Learning 여정의 머신러닝을 위한 통계 섹션에 포함된 레슨. 64개 중 2번째.

백분위수는 정렬된 데이터를 나눕니다. 25번째 백분위수는 아래에서 4분의 1 지점에 있고, 50번째 백분위수는 중앙값입니다. 방 탈출에 걸린 아홉 번의 시간:

38초에서 95초까지의 방 탈출 시간 아홉 개를 선 위의 점으로 표시. 선은 Q1 45, Q2 52, Q3 61을 나타내며, Q1에서 Q3까지 음영 처리된 상자에는 중앙 절반, IQR 16이라고 표시되어 있음

데이터를 4등분하는 지점은 사분위수 Q1, Q2, Q3입니다. np.percentile(a, q)는 0부터 100까지의 q 또는 목록을 받습니다:

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으로 유지됩니다. 특성에 극단값이 있을 때는 IQR을 신뢰하세요.

challenge icon

챌린지

쉬움

고객이 자신의 물 사용량이 같은 거리에 있는 20가구와 비교해 어떤지 묻습니다. use에는 각 가구의 물 사용량(리터)이 들어 있고, 프로그램은 고객의 사용량을 입력받습니다. 다음을 출력하세요:

  1. use의 사분위수: Q1, 중앙값, Q3.
  2. IQR.
  3. 고객의 사분위 구간: Q1 미만이면 1, 중앙값 미만이면 2, Q3 미만이면 3, 그 외에는 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 컴파일러