[python] 파이썬을 사용한 기계 학습 모델 평가 방법

기계 학습 모델을 평가하는 것은 모델의 성능을 정량화하고 비교하는 중요한 단계입니다. 파이썬은 다양한 평가 지표를 계산하고 모델의 성능을 평가하는 도구를 제공합니다. 이번 블로그에서는 일반적으로 사용되는 기계 학습 모델 평가 방법을 살펴보도록 하겠습니다.

1. 정확도 (Accuracy)

정확도는 가장 기본적인 모델 평가 지표입니다. 정확도는 전체 샘플 중 맞게 예측한 샘플의 비율로 계산됩니다. 파이썬에서는 scikit-learn의 accuracy_score 함수를 사용하여 정확도를 계산할 수 있습니다.

예제 코드:

from sklearn.metrics import accuracy_score

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

accuracy = accuracy_score(y_true, y_pred)
print("정확도:", accuracy)

2. 정밀도 (Precision)와 재현율 (Recall)

정밀도와 재현율은 이진 분류 모델의 성능을 평가하는 데 사용되는 지표입니다. 정밀도는 예측한 양성 중 실제로 양성인 샘플의 비율을 나타내며, 재현율은 실제로 양성인 샘플 중 예측한 양성의 비율을 나타냅니다.

예제 코드:

from sklearn.metrics import precision_score, recall_score

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

precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)

print("정밀도:", precision)
print("재현율:", recall)

3. F1 점수 (F1 Score)

F1 점수는 정밀도와 재현율의 조화 평균으로 계산되는 한 가지 지표입니다. 이는 정밀도와 재현율 사이의 균형을 나타내어 모델의 전반적인 성능을 평가하는 데 사용됩니다.

예제 코드:

from sklearn.metrics import f1_score

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

f1 = f1_score(y_true, y_pred)
print("F1 점수:", f1)

4. 위양성율 (False Positive Rate)과 ROC 곡선

위양성율은 실제로 음성인 샘플 중 양성으로 잘못 예측한 비율을 나타냅니다. 이는 이진 분류 모델의 성능을 평가하는 데 중요한 지표이며, ROC 곡선을 통해 시각화할 수 있습니다.

예제 코드:

from sklearn.metrics import roc_curve, roc_auc_score

y_true = [0, 1, 0, 1, 1]
y_scores = [0.1, 0.8, 0.2, 0.9, 0.6]

fpr, tpr, thresholds = roc_curve(y_true, y_scores)
auc = roc_auc_score(y_true, y_scores)

print("위양성율:", fpr)
print("진짜 양성율:", tpr)
print("AUC 점수:", auc)

기계 학습 모델 평가를 위한 파이썬의 다양한 함수와 라이브러리를 활용하여 모델의 성능을 분석할 수 있습니다. 적절한 평가 지표를 선택하고 파이썬 코드를 활용하여 모델을 평가하는 것은 학습 과정에서 매우 중요한 부분입니다.

더 자세한 내용은 다음 참조를 참고하시기 바랍니다: