일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Linear Regression
- lol api
- ubuntu
- overfitting
- 회귀분석
- 주피터테마
- deeplearning
- jupytertheme
- 주피터노트북
- 주피터 노트북 테마
- Machine Learning
- 딥러닝
- random forest
- 나는리뷰어다2021
- MySQL
- 모두를 위한 딥러닝
- 데이터분석
- pandas
- 주피터노트북 커널 목록
- Udacity
- feature scaling
- 주피터노트북 커널 제거
- 경사하강법
- 한빛미디어
- Python
- Git
- regression
- 주피터노트북 커널 추가
- GitHub
- deep learning
- Today
- Total
유승훈
Intro to machine learning - (14) Evaluation Metrics 본문
Intro to machine learning - (14) Evaluation Metrics
seunghuni96 2021. 2. 3. 12:38앞에서 배웠던 머신러닝 알고리즘들을 학습시키는 것도 중요하지만, 결과를 비교, 평가하고 어떤 것을 실제로 활용할 것인지를 결정하는 것도 중요합니다.

Classification에서 가장 직관적으로 분류 성능을 나타내는 지표는 Accuracy입니다.
TP+TNTP+FP+TN+FN
전체 Class 중에서 Class와 상관없이 올바르게 분류된 Class의 비율을 의미합니다. 많이 쓰이는 평가지표이지만, 단점이 없는 것은 아닙니다.
-
불균형 Class에는 올바르지 않다.
=> 작은 Class의 분모는 매우 작기 때문에, 많은 Class의 Accuracy보다 평가지표로서의 신뢰성이 떨어집니다. 예를 들어, 암 발병 여부를 예측한다고 하면, 양성보다 음성인 사람들의 수가 많기 때문에 대부분의 사람을 음성이라고 예측할것입니다. 이는 상당히 높은 Accuracy를 보일 것입니다. 하지만 우리는 음성인 사람을 찾는것 보다 실제로 암에 걸린 사람을 찾는데 관심이 있습니다. 이때는 높은 Accuracy가 큰 의미를 갖지 못합니다.
이처럼 다양한 평가지표들이 존재하지만, 단점없이 완벽한 것은 존재하지 않습니다. 때문에 상황에 따라 여러가지의 평가지표들이 활용됩니다.

분류문제에서 많은 경우에 우리는 어떤 Class를 다른 Class보다 더 중요하게 생각합니다. 예를 들어, 암 발병 여부를 예측한다고 할 때, 우리는 음성보다 양성에 더 집중합니다. 이처럼 Task에 따라 Class를 예측하는 것의 중요도가 달라집니다. (여기서는 양성보다 음성인 사람의 비율이 더 많다고 가정합니다.)

Confusion Matrix는 Accuracy나 다른 지표들처럼 하나의 수치로 나오는 것이 아니라, Class별로 제대로 분류된, 분류되지 않은 Count를 나누어 보여줍니다. 모델이 Label Class를 얼마나 잘 분류하는지, 어떤 Class에서 분류가 잘 되는지, 되지 않는지를 한눈에 볼 수 있습니다.
예시에서는 Binary Classification을 예시로 2x2 Confusion Matrix를 보여주고 있지만, MultiClass Classification에서도 Confusion Matrix를 사용할 수 있습니다. 그때는 Label의 수에 따라 3x3, 4x4의 Confusion Matrix가 될 것입니다.
이외의 지표로는 Recall, Precision이 있습니다.
Recall은 실제 True인 값들 중 True로 제대로 예측된 값의 비율입니다.
똑같이 암 발병 여부를 예측할 때, 언제나 양성인 결과를 내놓는 모델이 있습니다. 그러면 Accuracy는 낮지만 실제 양성인 환자들에 대해서는 정확하게 양성을 진단할 수 있기 때문에 recall은 1이 됩니다.
TPTP+FN(=TruePositiveActualPositive)
Precision은 True로 예측된 값들 중 True로 제대로 예측된 값의 비율입니다. 암이라고 예측했는데, 실제 암인 환자의 비율이라고 할 수 있습니다. 위에서 얘기했던 언제나 양성인 결과를 내놓는 모델의 recall은 1이지만, precision은 매우 낮은 값을 보일 것입니다. 모든 사람을 양성으로 예측하는데, 그 중 실제로 양성인 사람의 비율은 적을 것이기 때문입니다.
TPTP+FP(=TruePositivePredictedPositive)
이렇게 Recall, Precision 두 지표는 서로 반대의 개념입니다. 때문에 모델의 성능을 표현할 때 두 지표를 모두 이야기하거나, 둘의 조화평균인 F1-Score를 사용하기도 합니다.
흔히 쓰이는 산술평균이 아니라 조화평균을 사용하는 것은, 큰 값이 끼치는 영향이 비교적 줄어들기 때문입니다.
2∗Precision∗RecallPrecision+Recall
'강의정리 > udacity - machine learning' 카테고리의 다른 글
Intro to machine learning - (15) Tying it all together (0) | 2021.02.04 |
---|---|
Intro to machine learning - (13) Validation (0) | 2021.02.02 |
Intro to machine learning - (12) PCA (0) | 2021.02.01 |
Intro to machine learning - (11) Feature Selection (0) | 2021.01.31 |
Intro to machine learning - (10) Text Learning (0) | 2021.01.30 |