본문 바로가기
Research/Machine Learning

Precision Recall AveragePrecision

by IMCOMKING 2017. 5. 31.

 

# 컨퓨전 매트릭스
- True/False: 모델이 잘했느냐 못했느냐를 의미함. 즉 True이면 모델이 정답을 맞췄다는 의미이고, False이면 모델이 정답을 틀렸다는 의미이다.
- Positive/Negative: 모델이 예측한 값이 True였나, False였나를 의미함.

Image result

http://www.dataschool.io/simple-guide-to-confusion-matrix-terminology/

 

- TP: 모델이 1이라고 예측(P)했고, 그 예측이 맞았음(True, 정답을 맞춤) 즉, 이 경우에 실제 정답도 1임 

- TN: 모델이 0이라고 예측(N)했고, 그 예측이 맞았음(True, 정답을 맞춤) 즉, 이 경우엔 실제 정답이 0임 

- FP: 모델이 1이라고 예측(P)했고, 그 예측이 틀렸음(False, 정답을 틀림) 즉, 이 경우에 실제 정답은 0임 

- FN: 모델이 0이라고 예측(N)했고, 그 예측이 틀렸음(False, 정답을 틀림) 즉, 이 경우에 실제 정답은 1임 

 

- Precision = TP / TP+FP
     -> 모델이 1이라고 예측한 것들 중, 실제로 정답도 1인 것

     -> 내가 맞다고 내린 결정이 진짜로 정답일 확률

    (1에 가까울수록 좋다. 모델이 정답이라고 추측 한 것이 과연 얼마나 믿을만한지를 측정함=신중한 판단)

    ex) 판사가 어떤 범죄자의 무기징역을 결정할 때, 절대로 무고한 사람이 형을 살지 않도록 아주 신중하게 결정해야한다.

 

- Recall = TP / TP+FN
     -> 실제 정답이 1인 것들 중, 모델이 1이라고 예측한 것

     -> 전체 전염병환자 들 중에서, 내가 놓치지 않고 잡아낸(소환해낸) 비율

    (1에 가까울수록 좋다. 모델이 정답을 얼마나 놓치지 않고 다 잡아오는가(Recall)를 측정함=놓치지 말것)
    ex) 의사가 전염성이 아주 높은 병의 격리 여부를 결정할 때, 절대 전염병 환자를 놓치지 않기 위해서는 조금이라도 의심이 가면 격리를 시켜야한다.

 

- Accuracy = TP + TN / TP+TN+FP+FN
     -> 전체 경우들 중에서, 모델이 제대로 정답을 맞춘 비율

    (1에 가까울수록 좋다. 모델의 종합 성적)

 

- Average Precision: Precision-Recall curve에서 밑면적의 넓이를 계산한 것.
* 주의: AUC와 개념적으로 거의 동일하고, 다만 차이점은 x축과 y축이 조금 다를 뿐임.

마찬가지로 threshold를 바꿈에 따라 변하는 Precision과 Recall의 값을 그래프로 그리고, 이것의 밑넓이를 적분해서 구한것이다.

- Mean Average Precision: AP를 모든 class에 대해서 계산한다음, 그것을 전체 평균낸 것.

 

https://stats.stackexchange.com/questions/260430/average-precision-in-object-detection
http://darkpgmr.tistory.com/162

https://en.wikipedia.org/wiki/Information_retrieval#Mean_average_precision
https://www.kaggle.com/wiki/MeanAveragePrecision

http://enginius.tistory.com/374

 

 

댓글0