IQR(Interquartile Range)
IQR(Interquartile Range, 사분위 범위)는 데이터의 중간 50%가 퍼져 있는 범위를 나타내는 지표로, 머신러닝에서 이상치(outlier)를 탐지하거나 데이터의 분포를 분석할 때 유용하게 사용됩니다. IQR은 데이터셋의 1사분위수(Q1)와 3사분위수(Q3) 간의 차이로 계산됩니다.
IQR 계산
IQR을 계산하는 과정은 다음과 같습니다:
- 데이터를 오름차순으로 정렬합니다.
- 1사분위수(Q1)와 3사분위수(Q3)를 찾기:
- Q1은 데이터의 하위 25%에 해당하는 값입니다.
- Q3은 데이터의 상위 75%에 해당하는 값입니다.
- IQR 계산: IQR = Q3 - Q1
IQR을 이용한 이상치 탐지
IQR은 주로 이상치를 탐지할 때 유용하게 사용됩니다. IQR 기반의 이상치 탐지 규칙은 다음과 같습니다:
- 이상치(outlier): 데이터가 아래 범위를 벗어나면 이상치로 간주됩니다.
예제
데이터셋: [1, 3, 5, 7, 8, 9, 11, 13, 15, 18]
- 데이터를 정렬합니다. 이미 정렬된 상태이므로 별도의 정렬이 필요하지 않습니다.
- Q1(1사분위수)와 Q3(3사분위수)를 찾기:
- 전체 데이터는 10개의 값으로 구성됩니다.
- Q1은 하위 25% 위치의 값입니다. 10개의 값이므로 10 × 0.25 = 2.5번째 값입니다. 중간 값을 계산하기 위해 2번째 값(3)과 3번째 값(5)의 평균을 취합니다. Q1= (3+5) / 2 = 4
- Q3은 상위 75% 위치의 값입니다. 10개의 값이므로 10×0.75=7.5번째 값입니다. 7번째 값(11)과 8번째 값(13)의 평균을 취합니다. Q3=(11+13) / 2 =12
- IQR 계산: IQR=Q3−Q1=12−4=8
- 이상치 범위 계산:
- 이상치 하한: Q1−1.5×IQR = 4−1.5×8 = 4−12 = −8
- 이상치 상한: Q3+1.5×IQR = 12+1.5×8 = 12+12 = 24
- 이상치 판단:
- 이 데이터셋에서 -8보다 작거나 24보다 큰 값은 없습니다. 따라서 이상치는 없습니다.
이 예제를 통해 데이터의 중간 50%가 4에서 12 사이에 분포하며, 이상치는 없는 것을 알 수 있습니다.
이 기준을 넘어서는 데이터 포인트는 일반적으로 평균 및 표준 편차를 이용한 이상치 검출보다 더욱 견고한 방식으로 이상치로 판단할 수 있습니다.
'Interview > ML' 카테고리의 다른 글
ML Interview - Bayesian Optimization (0) | 2024.11.10 |
---|---|
ML Interview - 하이퍼파라미터 튜닝 기법 (0) | 2024.11.10 |
ML Interview - Z Score (0) | 2024.11.10 |
ML Interview - Anomaly Detection (1) | 2024.11.10 |
ML Interview - Transfer Learning (1) | 2024.11.10 |