[python] 모델 성능 평가(Evaluation)
머신 러닝 모델을 학습시킨 후에는 모델의 성능을 평가해야 합니다. 이 평가는 모델이 실제 데이터로 얼마나 잘 동작하는지를 측정하는 데 도움이 됩니다. 이번 포스트에서는 파이썬에서 모델 성능을 평가하는 방법을 알아보겠습니다.
평가 지표(Metric)
머신 러닝 모델의 성능을 측정하기 위해 사용되는 평가 지표는 다양합니다. 몇 가지 주요 평가 지표들은 다음과 같습니다:
- 정확도(Accuracy): 정확히 분류된 샘플의 비율을 나타내는 지표입니다. 즉, 테스트 데이터에서 정확히 예측한 샘플의 비율을 말합니다.
- 정밀도(Precision): 양성으로 예측한 사례 중에서 실제로 양성인 비율을 나타내는 지표입니다. 즉, 모델이 양성으로 예측한 것 중에서 실제로 맞춘 비율을 말합니다.
- 재현율(Recall): 실제로 양성인 샘플 중에서 양성으로 예측한 비율을 나타내는 지표입니다. 즉, 실제 양성인 것 중에서 모델이 양성으로 정확히 예측한 비율을 말합니다.
- F1 점수(F1 Score): 정밀도와 재현율의 조화 평균을 나타내는 지표입니다. 정밀도와 재현율이 모두 높을수록 F1 점수도 높아집니다.
코드 예시
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
# 데이터 준비
X, y = prepare_data() # 데이터 전처리 함수
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 모델 훈련
model = LogisticRegression()
model.fit(X_train, y_train)
# 테스트 데이터 예측
y_pred = model.predict(X_test)
# 평가 지표 계산
accuracy = accuracy_score(y_test, y_pred)
precision = precision_score(y_test, y_pred)
recall = recall_score(y_test, y_pred)
f1 = f1_score(y_test, y_pred)
# 결과 출력
print("Accuracy:", accuracy)
print("Precision:", precision)
print("Recall:", recall)
print("F1 Score:", f1)
위 예시 코드는 sklearn
패키지를 사용하여 모델을 훈련하고 평가하는 방법을 보여줍니다. prepare_data()
함수는 데이터를 전처리하는 함수로, 실제 데이터에 맞게 구현되어야 합니다.
참고 자료
이 포스트에서는 파이썬에서 머신 러닝 모델의 성능을 평가하는 방법을 알아보았습니다. 다양한 평가 지표를 사용하여 모델의 성능을 측정하고, 주어진 예시 코드를 사용하여 성능을 평가할 수 있습니다. 머신 러닝 모델의 성능 평가는 모델을 개선하는 데 도움이 되는 중요한 단계입니다.