[python] scikit-learn을 이용한 모델 평가 방법

머신러닝 모델을 평가하는 것은 모델의 성능과 품질을 파악하는 데 중요한 요소입니다. scikit-learn은 파이썬에서 머신러닝 모델을 구축하고 평가하기 위한 훌륭한 도구입니다. 이번 포스트에서는 scikit-learn을 사용하여 모델을 평가하는 몇 가지 일반적인 방법에 대해 알아보겠습니다.

Train-Test Split

먼저, 데이터를 train set과 test set으로 분리하는 것이 중요합니다. train set은 모델을 학습하는 데 사용되고, test set은 학습된 모델의 성능을 평가하기 위해 사용됩니다. scikit-learn의 train_test_split 함수를 사용하여 데이터를 분리할 수 있습니다.

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

Cross Validation

Cross Validation은 데이터를 여러 개의 fold로 나눈 다음, 각 fold를 사용하여 모델을 학습하고 테스트하는 방법입니다. 이 방법은 모델의 성능을 더 정확하게 평가하는 데 사용됩니다. scikit-learn의 cross_val_score 함수를 사용하여 Cross Validation을 수행할 수 있습니다.

from sklearn.model_selection import cross_val_score

scores = cross_val_score(model, X, y, cv=5)

평가 지표

모델의 성능을 측정하기 위해 다양한 평가 지표를 사용할 수 있습니다. 일반적인 평가 지표로는 정확도(Accuracy), 정밀도(Precision), 재현율(Recall), F1 점수(F1 score) 등이 있습니다. scikit-learn에서는 accuracy_score, precision_score, recall_score, f1_score 함수를 제공하여 각 평가 지표를 계산할 수 있습니다.

from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score

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)

참고 자료

위에서 다룬 내용은 scikit-learn의 기본적인 기능을 소개한 것이며, 실제로는 더 다양한 평가 방법과 평가 지표를 사용할 수 있습니다. scikit-learn 공식 문서를 참고하여 더 자세한 내용을 확인해보세요.