Confusion matrics¶
모형을 예측하는 값에는 True 와 False가 있다. 그리고 아래의 그림과 같이 모형의 예측값과 실제 값을 각각 축으로 하는 2 x 2 매트릭스로 표현한 것을 말한다.
정밀도(Precision)¶
True로 예측한 분석대상 중에 실제값이 True인 비율을 말하며, 모형의 정확성을 나타내는 지표가 된다.정확도가 높다는 것은 False Positive(실제 False를 True로 잘못 예측) 오류가 적다는 뜻이다.
재현율(Recall)¶
실제값이 True인 분석대상 중에서 True로 예측하여 모형이 적중한 비율을 말하며, 모형의 완전성을 나타내는 지표이다. 재현율이 높다는 것은 False Negative(실제 True를 False로 잘못 예측) 오류가 낮다는 뜻이다.
F1 지표(F1-score)¶
정확도와 재현율이 균등하게 반영될 수 있도록 정확도와 재현율의 조화평균을 계산한 값으로, 모형의 예측력을 종합적으로 평가하는 지표이다. 값이 높을수록 분류 모형의 예측력이 좋다고 말할 수 있다.
의료데이터에서 cofusion matrix¶
의료 데이터에서는 Recall이 중요하다. 왜냐하면, 병걸린 사람을 검사했을 때 오진이 나오면 안되기 때문이다. 기본적으로 병원에서는 병의 유무(True/False)를 여러단계를 거쳐서 검사를 진행한다. 우선은 비교적 간단하지만, 정확도가 떨어지는 test를 먼저 진행한다. 그리고 병에 걸릴 가능성이 있다면 재검사를 통해 정확도가 높은 test를 진행하는 방식을 사용한다. 예를 들면, MRI를 찍고 다른 가능성이 있으면 혈액검사 같은 추가 검사를 진행하는 것과 같다. 정리하면, 처음부터 모든 검사를 다 할 수없으니 간단한 검사부터 해서 좁혀나가는 방식을 사용한다. 이러한 방식은 Recall이 좋아야 병을 찾아 나갈 수 있다.
물론 최종적으로 Recall과 Precision이 둘다 좋은 비싼 방법을 사용할 것이다. 그러나 초반의 경우, 데이터를 쉽게 얻을 수 있는 것들을 조합하거나 recall을 더 중요시 한다. 여기서 주의 할 점이 Recall만 100프로로 사용하면, Precision이 0이 될 수도 있다. 예를들면, 무한대의 환자가 왔을때 무조건 병이 있다고 하면 Recall은 100%가 된다. 하지만 Precision은 n/무한대 가되므로 0으로 가까워진다. 병이 안걸린 사람도 병걸린 사람이 될 수 있다. 따라서 Recall을 100프로 만드는 것은 바람직하지 않고, 0.9나 0.95 (90~95%)이상으로 유지하면서 precision을 떨어뜨리지 않는것이 중요하다.
- 파이썬을 활용한 이커머스 데이터분석에서도 confusion matrix의 중요성을 수업들은 기억이 있다.
'kaggle' 카테고리의 다른 글
당뇨병예측,시각화(with 캐글) (0) | 2021.08.20 |
---|---|
자살률 시각화(with 캐글) (0) | 2021.08.20 |
kaggle_Bike Sharing Demand[입문용] (0) | 2021.05.22 |
XGBoost 개념 이해 (0) | 2021.05.15 |
kaggle_titanic_XGBoost 추가 (0) | 2021.05.15 |