본문 바로가기
AI-driven Methodology/Artificial Intelligence

[AI] 평가 모델 (1)

by goatlab 2022. 9. 27.
728x90
반응형
SMALL

평가 모델

 

https://subscription.packtpub.com/book/big-data-and-business-intelligence/9781838550134/1/ch01lvl1sec02/the-machine-learning-process

 

머신러닝에서 각각의 알고리즘이 특성, 차이가 있기 때문에 모델을 평가할 지표가 필요하다. 평가 모델은 다음과 같다.

 

  • 정확도 예측 (Predictive accuracy)
  • 호율 (Efficiency) : 모델을 구성하는 시간, 모델을 사용하는 시간
  • 완건성 (Robustness) : noise 및 결측값 처리
  • 확장성 (Scalability) : disk 상주 데이터베이스의 효율성
  • 해석 가능성 (Interpretability) : 모델에서 제공하는 이해 및 통찰력
  • 모델 소형화 (Compactness of the model) : 트리의 크기 또는 규칙 수

 

데이터 분리

 

https://towardsdatascience.com/how-to-split-data-into-three-sets-train-validation-and-test-and-why-e50d22d3e54c

 

훈련 / 테스트 분할 (train / test split)은 머신러닝에서 데이터를 학습을 하기 위한 학습 데이터셋 (train dataset)과 학습의 결과로 생성된 모델의 성능을 평가하기 위한 테스트 데이터셋 (test dataset)으로 나눈다. 모델이 새로운 데이터셋에도 일반화 (generalize)하여 처리할 수 있는지를 확한다.

 

Error Analysis

 

오류 분석은 잘못된 ML 예측을 분리, 관찰 및 진단하여 모델의 고성능 및 저성능 포켓을 이해하는 데 도움이 되는 프로세스이다. "모델 정확도가 90%"라고 하면 데이터의 부분군에 걸쳐 균일하지 않을 수 있고 모형이 더 실패하는 일부 입력 조건이 있을 수 있다. 따라서, 이는 집계 metric에서 개선을 위한 모델 오류에 대한 보다 심층적인 검토로 이어지는 단계이다.

 

분류 (Classification)
  • Confusion matrix
  • Accuracy
  • Precision
  • Recall
  • F1
  • AUC
회귀 (Regression)
  • MAE (Mean Absolute Error)
  • MSE (Mean Squared Error)
  • R-squared

 

Confusion Matrix

 

Confusion Matrix은 예측값이 실제값 대비 얼마나 잘 맞는지 행렬로 표현한 것이다.

 

https://manisha-sirsat.blogspot.com/2019/04/confusion-matrix.html

  • True Positive (TP) : 예측값과 실제값이 모두 1로 동일할 때, 즉 모델의 예측값이 정답이고 예측 대상이 1일 때
  • True Negative (TN) : 예측값과 실제값이 모두 0으로 동일할 때, 즉 모델의 예측값이 정답이고 예측 대상이 0일 때
  • False Negative (FN) : 실제값은 1이지만 예측값이 0으로, 모델 의 예측값이 오답이고 예측값이 0을 예측할 때
  • False Positive (FP) : 실제값은 0이지만 예측값이 1로, 모델의 예측값이 오답이고 예측값이 1을 예측할 때
from sklearn.metrics import confusion_matrix

y_true = [1, 0, 1, 1, 0, 1]
y_pred = [0, 0, 1, 1, 0, 1]

confusion_matrix(y_true, y_pred)
array([[2, 0],
       [1, 3]], dtype=int64)
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
(tn, fp, fn, tp)
(2, 0, 1, 3)

 

Accuracy

 

https://www.mydatamodels.com/learn/how-good-is-your-machine-learning-algorithm/

 

정확도는 검정 데이터에 대한 정확한 예측 비율이다. 정확한 예측 수를 총 예측 수로 나누면 쉽게 계산할 수 있다.

 

import numpy as np
from sklearn.metrics import accuracy_score

y_true = np.array([0, 1, 0, 0])
y_pred = np.array([0, 1, 1, 0])

accuracy_score(y_true, y_pred)

# 또는
sum(y_true == y_pred) / len(y_true)
0.75

 

https://www.analyticsvidhya.com/blog/2021/08/a-quick-guide-to-error-analysis-for-machine-learning-classification-models/

 

Error Analysis for Machine Learning Classification Models

Error are redundant for any machine learning model. This article is a quick quide to Error Analysis for ML Classification Models

www.analyticsvidhya.com

 

728x90
반응형
LIST