data analysis & visualization

calibration Curve

머신러닝2020. 8. 19. 11:13

우리는 머신러닝의 성능을 정량적으로 평가를 하기위해 성능평가지표를 사용한다. 

 

이러한 성능평가지표는 예측한 것들 중 얼마나 제대로 예측을하였는가에 관한 지표들이다. 

 

https://ducj.tistory.com/161

 

성능평가지표

 

ducj.tistory.com

하지만 모델은 때로 과대 과소추정되기도 한다. 이를 개선하기 위해서 우리는 calibration curve를

 

활용할 수 있다. 

 

그 원리는 나름 간단하다. 예측값이 예측한 target을 범주화 시키고 

 

이 범주를 기준으로 실제 발생한 비율을 보고 이를 교정하겠다는 것이다.

 

다시말하자면, 예측한 값의 범주 중 실제 target의 비율을 시각화 한 그래프이다. 

 

위 그림을 기반으로 설명을 해보자. 우선 학습한 모델의 예측값을 위 점의 개수인 10개의 범주로 등분한다.

 

등분한 범주 중 [0.4 ~ 0.6) 범주가 있다고 하자.

 

[0.4 ~ 0.6) 에 해당하는 범주의 비율을 계산한 경우 0.8의 비율이 나타났다고 하자. 

 

이는 60%확률로 target이라고 예측하였지만 실제 비율은 80%라는 것을 의미한다.

 

따라서 모델이 과소 추정하였다고 할 수 있다. 

 

이와 반대로 [0.6 ~ 0.75) 구간의 범주에서 모델은 0.75의 확률을 제시하였지만, 실제 비율은 0.6밖에 나타나지 않았다.

 

따라서 모델이 과대 추정하였다고 할 수 있다.

 

이렇게 Calibration curve를 통해 모델의 과대 과소 추정을 판단하고 이를 교정하거나 정량적으로 다룰 수 있다. 

 

또한 Calibration Curve는 범주별로 신뢰구간의 extract binomial test를 기반으로 신뢰구간을 추정하여 제시할 수 있다.

 

끝으로 머신러닝모형을 validation data 를 기반으로 다시 재학습하는 방식으로 이를 교정하지 않을까 하는 생각이 든다.

 

 

 

참고 : 3months.tistory.com/418

 

 

Model calibration 의 개념과 Calibration plot

Model Calibration 예측모형 (predicted model) 을 어떻게 평가할 수 있을까? 가장 직관적이면서 많이 쓰이는 평가 방법은 정확도 (accuracy), 즉, 예측한 것중 몇퍼센트나 맞았는가에 관한 지표일 것이다. 하�

3months.tistory.com

 

'머신러닝' 카테고리의 다른 글

더미화?? 그것은 과연?  (0) 2020.09.06
보루타(boruta algorithm)  (0) 2020.08.09
Dynamic Time Warping(동적 시간 접합)  (0) 2020.07.09
성능평가지표  (0) 2020.04.26
과적합이 좋지 못한 이유?  (0) 2020.01.20