← 문제 목록/Robust 표준화 (median / IQR)
문제 해설

Robust 표준화 (median / IQR)

데이터 전처리 · easy

preview

Robust 표준화 (Median & IQR)

9번 Z-score이상치에 강한 변형. 평균·표준편차 대신 중앙값·IQR (사분위 범위, Q75 − Q25) 을 씁니다:

Xij=XijmedianjIQRjX'_{ij} = \frac{X_{ij} - \text{median}_j}{\text{IQR}_j}

왜 robust?

Z-score는 이상치 한 점이 평균·표준편차를 통째로 휘저어 버립니다. 중앙값·IQR은 상위/하위 25%를 절삭하고 중간 50%만 보기 때문에 몇 개 이상치에도 크게 흔들리지 않아요. 의료·금융처럼 꼬리가 긴 분포에서 사랑받는 이유.

과제

함수 robust_standardize-v1(X) 를 완성하세요.

  • 입력: (N, D) 2D 배열.
  • 반환: (X_scaled, median, iqr) — 스케일된 배열, 컬럼별 중앙값, 컬럼별 IQR.
  • np.median(X, axis=0), np.percentile(X, [25, 75], axis=0) 활용.
  • iqr == 0 인 컬럼은 0으로 나누지 말 것 (결과 0).

테스트 케이스

#이름검증
1결과 중앙값 ≈ 0np.median(X_scaled, axis=0) ≈ 0
2결과 IQR ≈ 1Q75 - Q25 of X_scaled ≈ 1
3shape 유지입력과 동일
4median/iqr 반환 shape (D,)정확한 값
5이상치에 덜 흔들림outlier 1개 추가 시 z-score 보다 변동 작음
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.