본문 바로가기

Contact 日本語 English

【알고리즘】 6-1강. Calibrated Classification Model

 

6-1강. Calibrated Classification Model

 

추천글 : 【알고리즘】 6강. 분류 알고리즘 


1. 예측값 [본문]

2. 캘리브레이션을 거친 후의 예측값 [본문]

3. 캘리브레이션 하는 법 [본문]


 

1. 예측값 [목차]

⑴ 값은 빈도, 특정 범위의 숫자, 발생확률, 클래스 등이 될 수 있음

⑵ 머신러닝 모델은 특정 샘플에 대해 특정 값이 대응된다고 예측

⑶ 머신러닝 모델이 더 정확히 예측하기 위해 데이터에 변형(캘리브레이션, calibration)이 필요함

 

 

2. 캘리브레이션을 거친 후의 예측값 [목차]

신뢰도 그림(reliability diagram, calibration curve)

① 정의 : x축은 예측값, y축은 실제값일 때 곡선으로 플롯팅 한 것

② 캘리브레이션이 잘될수록 직선에 가깝게 나옴

③ 직선 아래쪽 : 예측이 너무 과함. 즉, 예측값 > 관측값

④ 직선 위쪽 : 예측이 너무 약함. 즉, 예측값 < 관측값

⑵ 캘리브레이션을 거친 예측값

① 캘리브레이션을 거친 예측값은 더 개선된 신뢰도 그림을 보여줌

방법 1. platt scaling : S자 모양의 신뢰도 그림에 적합

③ 방법 2. isotonic regression : 오버피팅되지 않으려면 많은 데이터를 요함. 다양한 모양의 신뢰도 그림에 적용 가능(non-parametric)

④ SVM, boosted decision tree, random forecast는 캘리브레이션 후 훨씬 개선된 결과를 보여줌 

 

 

3. 캘리브레이션 하는 법 (파이썬 기준) [목차]

⑴ scikit-learn machine learning library : 캘리브레이션 진단 기능 + 예측치를 만드는 classifier를 캘리브레이션하는 기능

기능 1. 캘리브레이션 진단 : calibration_curve 

 

A, B = calibration_curve(observations, predictions, n_bins)

 

기능 2. classifier의 캘리브레이션 : CalibratedClassifierCV 

방법 1. prefit 

 

C = CalibratedClassifierCV(model, cv = 'prefit')

 

방법 2. cross-validation   

 

D = CalibratedClassifierCV(model, cv = 5)

 

method argument로 sigmoid와 isotonic을 특정할 수 있음 

입력 : 2019.11.08 21:55