안녕하세요!!
통계하는 피터팬 입니다!!
오늘은 머신러닝의 성능평가에서 중요한 부분을 차지하고 있는 혼동행렬(Confusion matrix)와 그에 따린 여러 지표들에 대해 설명하도록 하겠습니다!!!
글과 그림 및 내용은 제가 공부했던 지식과 위키피디아를 이용했습니다!
그래서 우선 저작권 명시부터 하고 가겠습니다!!
아래에 표시되는 그림과 일부 내용들은
출처: 위키피디아(CC BY-SA 3.0)
입니다!
그럼 시작해 보겠습니다!
일단 혼동행렬이 뭔가 궁금해 하실것 같아서 정리가 된 그림을 가져왔습니다!
역시 앞서 밝힌대로 출처는 위키피디아입니다!
https://en.m.wikipedia.org/wiki/Template:Diagnostic_testing_diagram
그림의 전체가 혼동행렬은 아니고 위에서 왼쪽의 9칸이 혼동 행렬입니다! 그러니까 다시말하면
이부분이 혼동행렬입니다!!
그럼 저기 큰 그림에 뭐가 저렇게 많은거냐?? 라고 질문하실 수 있는데 그만큼 이렇게 분류되는 데이터를 설명하기 위한 지표(혹은 점수 ,혼용해서 사용할 예정입니다!)가 많다는 의미 입니다! 그 이유는 사실 데이터가 어떤 형태로 구성되어 있냐에 따라서 뭔가 인식과는 직관적으로 일치하지 않는 점수가 나오기 때문입니다! 그러니까 뭔가 혼란이 생길수 있기 때문이죠!!
오늘 저는 그중에서 몇개를 소개하고 설명할 것입니다!!
1. 정확도
정확도란 전체 표본 수에서 실제로 예측에 성공한 샘플의 수를 의미 합니다! 머신러닝의 목적함수로 종종 사용되는 지표입니다!!
정확하게 예측된 정도를 의미하니 일반적으로 높을수록 좋은 모델입니다!
그런데 만약에 Negative sample이 80%를 차지하고 있고 Positive sample이 20%차지하고 있는 상황을 생각해 봅시다.
이 때 특정 머신러닝 모델이 무조건 Negative라고 예측하게 된다면 정확도는 어떻게 될까요?
무조건 80%는 맞을거니까 80%성능을 가지고 있다? 라고 말할 수 있을까요?
그러면 모델이 어떤 인풋의 값들을 고려하지 않고 그냥 무조건 Negative라고만 해도 80점을 맞게되는 상황인데 이게 잘 만들어진 모델이라고 할 수 있을까요??
당연히 아닙니다!!
그럼 이런 상황을 어떻게 하냐??
그래서 엄청나게 많은 지표(혹은 점수)들이 존재 합니다! 다양한 상황을 고려해야 하거든요!!
2.재현율
위 그림을 보시면 재현율의 이름이 다양한것을 확인할 수 있습니다.
식을 보면 실제 Positive중에서 Positive라고 옳게 예측한 것을 의미합니다.
Positive의 정답을 얼마나 적중했냐로 보면 됩니다.
역시 높을수록 좋은 모델인 것은 맞지만 이것만 보는것은 별로 추천하지 않습니다! 항상 다양한 지표를 볼수 있도록 하는게 좋습니다.
어차피 코딩으로 입력하면 되기 때문에 살펴보는것이 어렵지는 않습니다!
3.정밀도
정밀도는 Positive라고 예측한 표본중 실제 Positive의 비율을 의미합니다.
즉 얼마나 정확하게 Positive에 대한 예측을 했냐를 의미합니다!
역시 높을수록 좋은 지표입니다!!
재현율과 약간 헷갈리실수 있지만 정의를 다시 살펴보면 두 지표는 다른것입니다!!
4.F-점수
F점수에는 2가지가 있습니다!
재현율과 정밀도의 조화평균인 F-1점수와
정밀도가 재현율에 비해 얼마나 더 비중있는지를 beta로 설정해 주는 F-beta 점수가 있습니다!
beta의 값이 1보다 크면 정밀도의 비중을 높게 설정하는 것이고 1보다 작게 주면 재현율의 비중을 높게 설정하는 것입니다.
재현율과 정밀도를 모두 고려할 수 있다는 점에서 F-1 점수도 아주 좋지만 비중을 다르게 주고 싶은 경우도 많이 있기 때문에 F-beta점수를 많이 사용하는 추세입니다!
오늘은 머신러닝의 분류모델의 성능을 알아볼수 있는 혼동행렬, 정확도, 재현율, 정밀도를 알아보았습니다!!
이 글을 읽으시는 분들께 모두 도움이 되면 좋겠습니다!!
읽어주셔서 감사합니다!!!
모두 화이팅!
'통계, 인공지능 > AI 관련' 카테고리의 다른 글
머신러닝 지도학습의 대표적인 두가지 문제- 분류와 회귀 (0) | 2022.09.12 |
---|
댓글