데이터 분석/ADP 자격증 공부

[ADP 실기] (모델평가) 회귀모델, 분류분석모델 성능평가(MAE, MSE, Accuracy, Precision, Recall, F1-score)

나르시스트 2026. 4. 5. 17:28

*회귀분석 모델 성능평가

  • MAE(Mean Absolute Error) – 실제값과 예측값의 차이를 절대값으로 변환해 평균한 것
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_test, y_pred)

  • MSE(Mean Squared Error) – 실제값과 예측값의 차이를 제곱해 평균한 것
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_test, y_pred)
  • RMSE(Root Mean Squared Error) – MSE에 루트를 씌워서 보정
from sklearn.metrics import mean_squared_error
import numpy as np

mse = mean_squared_error(y_test, y_pred)
rmse = np.sqrt(mse)
  • MSLE(Mean Squared Log Error) – MSE에 로그를 적용해서 보정
from sklearn.metrics import mean_squared_log_error
msle = mean_squared_log_error(y_test, y_pred)
  • MAPE(Mean Absolute Percentage Error) – MSE를 퍼센트로 변환한 것
import numpy as np
mape = np.mean(np.abs((y_test - y_pred) / y_test)) * 100

*분류분석 모델 성능평가

  • 전체
from sklearn.metrics import classification_report
print(classification_report(y_test, pred))
  • 정확도(Accuracy)
from sklearn.metrics import accuracy_score
acc = accuracy_score(y_test, y_pred)
  • 혼동행렬(Confusion Matrix)
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)
  • 정밀도(Precision), 재현율(Recall), F1 스코어
from sklearn.metrics import precision_score
precision = precision_score(y_test, y_pred)
from sklearn.metrics import recall_score
recall = recall_score(y_test, y_pred)
from sklearn.metrics import f1_score
f1 = f1_score(y_test, y_pred)

*ROC 곡선과 AUC 스코어

  • ROC 곡선
from sklearn.metrics import roc_curve
fpr, tpr, thres = roc_curve(y_test, y_pred, pos_label = 1)

import matplotlib.pyplot as plt
plt.plot(fpr, tpr)
  • AUC 스코어
from sklearn.metrics import roc_curve, auc
fpr, tpr, thres = roc_curve(y_test, y_pred, pos_label = 1)
auc = auc(fpr, tpr)

*교차검증 함수

scores = cross_val_score(dtree_clf_5, x_train, y_train, scoring='accuracy', cv=10)
print('교차검증 정확도: ', np.round(scores))
print('평균 검증 정확도: ', np.round(np.mean(scores)))