Chapter3. 성능평가지표와 PR곡선

Byabya·2022년 3월 14일
0

3.1 성능평가지표

1) 혼동행렬의 이해

  • 훈련데이터를 이용하여 구축되고 학습된 모델이 얼마나 훌륭한지 판단하는 성능 평가 지표
  • 혼동행렬 - 테스트 데이터에 대한 모델의 예측 결과를 True Positive, True Negative, False Positive, False Negative의 4가지 관점으로 분류 (각각의 예측 결과 개수를 정리한 표)
  • 참/거짓 - 예측의 적중 유무
  • 양성/음성 - 예측한 클래스

ex) 병원에서 의사에게 대장암을 선고 받았음. 그러나 사실 대장암에 걸린 것이 아니었으며 이는 의사의 잘못이었음. 암을 앓고 있으면 '양성', 앓고 있지 않으면 '음성' 분류
-> 답 :거짓 양성

sol)
1) 암 걸림 && 암 선고 -> 참 양성 (TP)
2) 암 안걸림 && 암 선고 -> 거짓 양성 (FP)
3) 암 안걸림 && 암 아니라고 선고 -> 거짓 음성 (FN)
4) 암 안걸림 && 암 선고 -> 참 음성 (TN)

2) 혼동 행렬 구현하기

  • sklearn.mettircs 모듈의 confusion_matrix()함수 이용
from sklearn.metrics import confusion_matrix
confmat = confusion_matrix(y_ture,y_pred)

3) 정확도

  • 혼동 행렬의 각 개수를 바탕으로 산출 가능한 성능평가지표 설명

    정확도 = (TP+TN) / (FP+FN+TP+TN)

4) F값

  • 데이터가 한쪽으로 치우쳐 있는 상태에서 정확도라는 지표를 사용한는 것은 종종 위험할 때가 있음.
  • 따라서 머신러닝에는 적합률(precision_정밀도), 재현율(recall), F값(F-measure)이라는 지표로 성능 평가하는 경우가 대다수

    적합률 = TP/(TP+FP)
    재현율 = TP/(TP+FN)
    F값 = 2*(적합률X재현율)/ (적합률+재현율)

5) 성능평가지표 구현하기

#적합률, 재현율, F
from sklearn.metrics import precision_score
from skleran.metrics import recall_score, f1_score

#데이터를 저장한다. 0이 양성, 1이 음성
y_true = [0,0,0,1,1,1]
y_pred = [1,0,0,1.1.1]

#y_true에는 정답 라벨, y_pred에는 예측 라벨 전달
print("Precision: %.3f" % precision_Score(y_true,y_pred))
print("Recall: %.3f" % recall_score(y_true, y_pred))
print("F1:%.3f" % f1_score(y_true,y_pred))

##아직 이론만 하고 실습하기 전이라 오류가 있을 수 있음..해보고 수정해야지..ㅜㅜ

3.2 PR 곡선

1) 재현율과 적합률의 관계

  • 재현율 : 실제로 양성인 데이터 중 몇 퍼센트를 양성으로 판정했는지 보여준다.

  • 적합률 : 양성이라고 예측한 데이터 중 몇 퍼센트가 옳았는지 보여준다.

    재현율과 적합률은 상충관계이다.
    재현율을 높이려고 하면 적합률이 낮아지고, 적합률을 낮추려고 하면 재현율이 낮아진다.

  • 재현율과 적합률의 쓰임은 다르다. 예를 들어, 건강과 관련된 앞서 말한 암진단과 같은 경우, 생명과 중대한 일이기 때문에 가능한 FN(거짓음성)의 수를 줄여야 한다. 그러나 웹사이트 추천 기능과 같은 경우, 적합률을 중시하는 것이 좋다. 구매 기회의 감소보다는 신뢰성 감소를 피하고 싶은 경우, 거짓양성(FP)의 수를 줄이는 것이 필요하다.

  • 위의 두 조건에 구애받지 않는 경우, 재현률과 적합률을 모두 고려한 F값을 사용한다.

2) PR곡선이란

  • 가로축 - 재현율 / 세로축 - 적합률 로 한 그래프

3) PR곡선을 이용한 모델 평가

적합률이 높고, 재현율이 낮은 상태 :
낭비는 적으나 손실이 많은 판정을 하고 있는 상태
기회손실(opportunity loss) 발생

적합률이 낮고, 재현율이 높은 상태 :
낭비는 많고, 손실이 적은 판정을 하고 있는 상태
접근(approach)에 예산이 낭비가 될 가능성이 있음

  • 이러한 PR곡선에서 적합률과 재현율이 일치하는 점이 존재, 바로 '손익분기점(break-even point, BEP)'
  • 손익분기점(BEP)가 오른쪽 위로 올라갈수록 재현율과 적합률 모두 상승
profile
@___noyesa

0개의 댓글