BASHA TECH

Ch 3. 머신러닝 복습 : 평가 본문

Computer/Machine Learning

Ch 3. 머신러닝 복습 : 평가

Basha 2023. 4. 24. 16:51
728x90

머신러닝 프로세스 : 데이터 가공/변환 ->모델 학습/예측 -> 평가'

성능 평가 지표는 모델이 분류인지 회귀인지에 따라 여러 종류로 나뉜다.

- 회귀 : 대부분 실제 값과 예측값의 오차 평균값에 기반한다. 예를 들어 오차에 절댓값을 씌운 뒤(절댓값을 씌웠을 때 미분 안됨. 그래서 신경망 모델에서 사용 안한다) 평균 오차를 구하거나 오차의 제곱 값에 루트를 씌운 뒤 평균 오차를 구하는 방법과 같이 기본적으로 예측 오차를 가지고 정규화 수준을 재가공하는 방법이 회귀의 성능 평가 지표 유형이다.

 

1. 정확도 (Accuracy)

직관적으로 모델 예측 성능을 나타내는 평가 지표. 하지만 이진 분류의 경우 데이터의 구성에 따라 ML 모델의 성능을 왜곡할 수 있기 때문에 정확도 수치 하나만 가지고 성능을 평가하지 않는다. 

 

정확도를 평가 지표로 사용할 때는 매우 신중해야한다. 특히 정확도는 불균형한 레이블 값 분포에서 ML 모델의 성능을 판단할 경우, 적합한 평가 지표가 아니다. 따라서 정확도 평가 지표는 불균형한 레이블 데이터 세트에서는 성능 수치로 사용되서는 안된다. 이러한 한계점을 극복하기 위해 여러 가지 분류 지표와 함께 적용하여 ML모델 성능을 평가해야한다.

 

2. 오차 행렬

이진 분류에서 성능 지표로 잘 활용되는 오차 행렬은 학습된 분류 모델이 예측을 수행하면서 얼마나 헷갈리고 있는지도 함께 보여주는 지표. 즉, 이진 분류의 예측 오류가 얼마인지와 더불어 어떠한 유형의 예측 오류가 발생하고 있는지를 함께 나타내는 지표다.

 

다음과 같은 4분명 행렬에서 실제 레이블 클래스 값(원래 답)과 예측 레이블 클래스 값(예측값)이 어떠한 유형을 가지고 매핑되는지를 나타낸다. 4분면의 왼쪽, 오른쪽을 예측된 클래스 값 기준으로 negative, positive로 분류하면 예측 클래스와 실제 클래스의 값 유형에 따라 결정되는 TN, FP, FN, FP형태로 오차 행렬의 4분명을 채울 수 있다. 

정확도 = 예측 결과와 실제 값이 동일한 건수 /전체 데이터 수 = (TN + TP) / (TN + FP + FN + TP)

(예측 값 기준으로 봐라! 어떤 프로젝트인지에 따라 positive가 나쁠 수도 있음. 항상 긍정은 아님 ex. 코로나 바이러스)

불균형한 레이블 클래스를 가지는 이진 부류 모델에서는 많은 데이터 중에 중점적으로 찾아야하는 매우 적은 수의 결과값에 positive를 설정해 1값을 부여하고 그러지 않은 경우 negative로 0값을 부여하는 경우가 많다

 

불균형한 이진 분류 데이터 세트에서는 positive 데이터 건수가 매우 작기 때문에 데이터에 기반한 ML 알고리즘은 Positive보다는 Negative로 예측 정확도가 높아지는 경향이 발생합니다. 예를 들어 10,000건의 데이터 세트에서 9,900건이 Negative이고 100건이 Positive라면 Negative로 예측하는 경향이 더 강해져서 TN은 매우 커지고 TP는 매우 작아지게 된다. 또한 Negative로 예측할 때 정확도가 높기 때문에 FN(Negative로 예측할 때 틀린 데이터 수)이 매우 작고, Positive로 예측하는 경우가 작기 때문에 FP역시 매우 작아집니다. 결과적으로 정확도 지표는 비대칭한 데이터 세트에서 Positive에 대한 예측 정확도를 판단하지 못한 채 Negative에 대한 예측 정확도만으로도 분류의 정확도가 매우 높게 나타나는 수치적인 판단 오류를 일으키게 됩니다.

 

이렇듯 불균형한 데이터 세트에서 정확도만으로는 모델 신뢰도가 떨어질 수 있는 사례를 봤습니다. 결국 정확도도 분류 모델의 성능을 측정할 수 있는 한 가지 요소일 뿐임.

 

3. 정밀도와 재현율 : Positive 데이터 세트의 예측 성능에 좀 더 초점을 맞춘 평가 지표.

정밀도 : 예측을 Positive로 한 대상 중에 예측과 실제 값이 Positive로 일치한 데이터의 비율을 뜻함.  공식의 분모인 FP + TP는 예측을 Positive로 한 모든 데이터 건수이며, 공식의 분자인 TP는 예측과 실제 값이 Positive로 일치한 데이터 건수다. Positive 예측 성능을 더욱 정밀하게 측정하기 위한 평가 지표로 양성 예측도라고도 불린다.

 

재현율 : 실제 값이 Positive인 대상 중에 예측과 실제 값이 Positive로 일치한 데이터의 비율을 뜻한다. 공식의 분모인 FN + TP는 실제 값이 Positive인 모든 데이터 건수이며 공식의 분자인 TP는 예측과 실제 값이 Positive로 일치한 데이터 건수. 민감도 또는 TBR(True Positive Rate)이라고 불린다.

 

정밀도와 재현율 지표는 둘다 오차임 오차는 결정적인 지표. (오차를 중심으로 봐라 => 오차행렬) 정밀도와 재현율은 상관관계다. 업무 특성에 따라 특정 평가 지표가 더 중요한 지표로 간주 될 수 있다. 예를들어 재현율이 중요 지표인 경우 실제 Positive 양성 데이터를 Negative로 잘못 판단하게 되면 업무상 큰 영향이 발생하는 경우입니다. 예시: 암 판단 모델 => 재현율이 훨씬 중요, 금융 사기 적발 모델 => 재현율이 중요. 예를 들어 Positive건 (FN)을 Negativeㄹ

재현율 = TP / (FN +TP), 정밀도 = TP / (FP + TP)에서 재현율과 정밀도 모두 TP를 높이는 데 동일하게 초점을 맞추지만, 재현율은 FN (실제 Positive, 예측 Negative)를 낮추는데 정밀도는 FP를 낮추는데 초점을 맞춘다. 이 같은 특성 때문에 재현율과 정밀도는 적대적 지표로(trade off) 분류의 성능을 평가하는 데 적용된다. 가장 좋은 성능 평가는 재현율과 정밀도 모두 높은 수치를 얻는 것이다. (오차가 적고, TP가 크면 된다. 따라서 정확도부터 봐야한다.) 반면에 둘 중 하나의 지표만 매우 높고 다른 수치는 매우 낮은 결과를 나타내는 경우는 바람 직하지 않다. (TP가 0이면 문제가 생김. => 정밀도, 재현율 모두 0)

 

정밀도 계산을 위한 precision_score(), 재현율 계산을 위한 recall_score()

 

정밀도 / 재현율 트레이드 오프 (Threshold)

분류하려는 업무의 특정상 정밀도 또는 재현율이 특별히 강조되어야 할 경우 분류의 결정 임곗값(Threshold)을 조정해 정밀도 또는 재현율의 수치를 높일 수 있다. 하지만 정밀도와 재현율은 상호 보완적인 평가 지표이기 때문에 어느 한쪽을 강제로 높이면 다른 하나의 수치는 떨어지기 쉽다. 이를 정밀도/재현율의 Trade-off라고 부른다.

 

4. F1 스토어: 정밀도와 재현율을 결합한 지표

F1 스코어는 정밀도와 재현율이 어느 한 쪽으로 치우치지 않는 수치를 나타낼 때 상대적으로 높은 값을 가진다

5. ROC곡선과 AUC

ROC곡선 (그래프 커브)은 FPR(False Positive Rate)이 변할 때 TPR(True Positive Rate)이 어떻게 변하는지를 나타내는 곡선. FPR을 X축으로, TPR을 Y축으로 잡으면 FPR의 변화에 따른 TPR의 변화가 곡선 형태로 나타난다.

- 민감도(TPR)는  실제값  Positive(양성)가 정확히 예측되어야 하는 수준을 나타낸다. (질병이 있는 사람은 질병이 있는 것으로 양성 판정)

- 특이성(TNR)은 실제값 Negative(음성)가 정확히 예측되어야 하는 수준을 나타낸다. (질병이 없는 건강한 사람은 질병이 없는 것으로 음성 판정).

 

 

 

728x90
반응형
Comments