C.W.K.
Stream
Lesson 03 of 05 · published

Calibration

~28 min · calibration, probabilities

Level 0Scout
0 XP0/48 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

calibration이 뭘 의미하나

Classifier가 확률 p로 score 매긴 example 사이 empirical positive rate도 p일 때 calibrated. Logistic regression이 구성상 대략 calibrated. Boosted tree와 random forest는 보통 극단에서 overconfident, calibration 필요. downstream system이 확률 사용할 때(cost-weighted threshold, cascade, expected value) calibration 중요.

diagnostic: reliability curve

Prediction을 decile로 bin, bin 별 empirical positive rate 계산, predicted 확률에 대해 plot. 선이 y = x에 가까울수록 calibration 좋음. Brier score가 단일 숫자 요약 — 낮을수록 좋음.

실용 fix 두 가지

  • Platt scaling — raw score 위 logistic regression fit. sigmoid 모양 miscalibration에 잘 동작.
  • Isotonic regression — non-parametric monotone curve fit. 데이터 더 필요하지만 더 유연.

둘 다 sklearn의 CalibratedClassifierCV가 wrap.

Code

reliability curve와 Brier score·python
from sklearn.calibration import calibration_curve
from sklearn.metrics import brier_score_loss
import matplotlib.pyplot as plt

frac_pos, mean_pred = calibration_curve(y_val, probs, n_bins=10)
print("Brier:", brier_score_loss(y_val, probs))
plt.plot([0, 1], [0, 1], "k--")
plt.plot(mean_pred, frac_pos, marker="o")
plt.xlabel("predicted probability")
plt.ylabel("empirical positive rate")
plt.show()
held-out fold에 isotonic regression으로 calibrate·python
from sklearn.calibration import CalibratedClassifierCV

calibrated = CalibratedClassifierCV(model, method="isotonic", cv="prefit")
calibrated.fit(X_calib, y_calib)
probs_calibrated = calibrated.predict_proba(X_val)[:, 1]

External links

Exercise

classifier의 reliability curve plot 하고 Brier score 보고. curve가 diagonal에서 멀어지면 held-out fold에 CalibratedClassifierCV(method='isotonic') fit하고 다시 plot. calibration이 downstream decision 바꾸는지 결정.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.