공부일기/Machine-Learning

모델 평가 지표

pipiiiiii 2024. 7. 30. 15:30

모델 평가

데이터 준비, 모델 학습과 더불어 모델 성능을 측정하는 것 또한 머신러닝의 핵심단계라고 할 수 있다. 

모델의 성능을 평가하는 것은 모델이 실제 환경에서 얼마나 잘 작동할지 예측하는데 중요하다. 그러므로 학습 목적에 따라 그에 맞는 적절한 평가지표를 사용해 올바른 성능 평가를 진행해야 한다. 

 

적절한 모델 성능 평가는 모델의 개선 방향을 정립하고, 최적의 모델을 선택할 수 있다. 

모델 성능 평가는 실제값과 모델에 의해 예측된 값을 비교하여 두 값의 차이(오차)를 구하는 것으로 '(실제값 - 예측값) = 0'이 되면 모델이 값을 100% 잘 맞췄다고 생각하면 된다. 하지만 예측값이 실제값과 100% 일치하는 것은 현실적으로 힘들기 때문에, 오차를 구해서 어느 정도까지 오차를 허용할지 결정하게 된다. 

 

모델 성능 평가의 경우 결과변수(답안지)가 있어야 잘한 건지, 아닌지를 확인할 수 있기 때문에 지도학습에서만 사용할 수 있으며 모델링의 목적 또는 목표 변수의 유형에 따라 다른 평가지표를 사용한다. 

 

 

모델 평가 지표

머신러닝 모델의 성능을 평가하는 데에는 어떤 모델을 평가하는지에 따라 다르며, 여러 가지 지표가 사용된다. 

 

예측/회귀 모델 성능 평가

예측/회귀 모델의 평가 지표들은 오차값이 작을수록 해당 모델의 성능이 좋다는 것을 의미한다. 

  • MSE(Mean Squard Error, 평균 제곱 오차)
    실제값과 예측값의 차이를 제곱해 평균한 것

  • RMSE(Root Mean Squarde Error, 평균 제곱근 오차)
    MSE값은 오류의 제곱을 구하는 것으로 실제 오류의 평균보다 값이 더 커지는 특성이 있다. 그래서 RMSE는 MSE에 루트를 씌운 것이다. 

  • MAE(Mean Absolute Error, 평균 절대 오차)
    실제값과 예측값의 차이를 절댓값으로 변환해 평균한 것이다. 

  • MAPE(Mean Absolute Percentage Error, 평균 절대비율 오차)
    MSE와 RMSE의 단점을 보완한 것이다. 

  • R2 Score
    실제 관측값의 분산대비 예측값의 분산을 계산하여 데이터 예측의 정확도 성능을 측정하는 지표다. 
    R2 Score의 경우 앞의 평가 지표와 다르게 1에 가까울수록 좋다. 

분류 모델 성능 평가

분류 모델은 하나의 목표를 가지고 만드는 경우가 많은데 그중 어떤 모델이 가장 나을지 판단할 때 모델 평가지표를 사용한다. 

  • 정확도(Accuarcy)
    전체 데이터 중, 정확하게 예측한 데이터의 수다. 
    그러나 분류 모델의 평가 지표로 사용할 때는 주의해야 하며, 불균형한 데이터의 경우에는 적합한 평가 지표가 아니다. 

  • 오차 행렬(Confusion Matrix)
    부류의 예측 범주와 실제 데이터의 분류 범주를 교차 표 형태로 정리한 행렬이다. 
    이진 분류의 예측 오류가 얼마인지와 더불어 어떠한 유형의 예측 오류가 발생하고 있는지를 함께 나타낸다. 

  • 정밀도(Precision)
    양성으로 판단한 것 중, 진짜 양성의 비율이다. 

  • 재현율(Recall) = 민감도(Sensitivity)
    진짜 양성인 것들 중에서, 올바르게 양성으로 판단한 비율이다. 
    양성 결과를 정확히 예측하는 능력으로, 모델의 완전성을 평가하는 지표로 사용된다. 

정밀도와 재현율 추가 설명

 

정밀도와 재현율은 Positive(양성) 데이터 세트의 예측 성능에 좀 더 초점을 맞춘 평가 지표로, 이진 분류 모델의 업무 특성에 따라 특정 평가 지표가 더 중요한 지표로 간주될 수 있다. 

 

예를 들어 재현율은 실제 Positive(양성)인 데이터 예측을 Negative(음성)로 잘못 판단하게 되면 업무 상 큰 영향이 발생하는 경우 더 중요한 지표로 간주되고, 정밀도는 실제 Negative(음성)인 데이터를 Positive(양성)로 잘못 판단하게 되었을 때 큰 문제가 발생되는 경우 더 중요한 지표로 간주된다. 

 

정밀도와 재현율 모두 TP(True Positive)를 높이는데 초점을 맞추지만 가장 큰 차이점이 재현율은 FN, 정밀도는 FP를 낮추는 것에 초점을 맞춘다는 점이다. 이와 같은 특성 때문에 재현율과 정밀도는 서로 보완적인 지표로 분류 성능을 평가하는 방식으로 사용되는데, 이때 어느 한쪽을 강제로 높이면 다른 하나의 수치는 떨어지기 쉬워지는 Trade-off 관계에 있다. 


  • F1 Score 
    정밀도와 재현율을 결합해 만든 지표다.
    정밀도와 재현율이 어느 한쪽으로 치우치지 않는 수치를 나타낼 때 F1 Score는 높은 값을 가지게 된다. 

정확도, 정밀도, 재현율, F1 Score 모두 0에서 1 사이의 값을 가지며, 1에 가까워질수록 성능이 좋다는 것을 의미한다. 

 

 

 

 

 

 

모델 평가 지표 코드 공부

https://github.com/DIB-PP/Machine-Learning

 

GitHub - DIB-PP/Machine-Learning

Contribute to DIB-PP/Machine-Learning development by creating an account on GitHub.

github.com

 

 

 

 

 

 

참고 자료