[python] SciPy를 사용하여 AUC 계산하기
AUC(Area Under the Curve)는 ROC(Receiver Operating Characteristic) 곡선 아래의 면적을 나타내는 값으로, 머신러닝 모델의 성능을 평가하는 데 사용됩니다. Python의 SciPy 라이브러리를 사용하면 간단하게 AUC를 계산할 수 있습니다.
필요한 라이브러리 설치하기
먼저, SciPy를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.
pip install scipy
AUC 계산하기
SciPy의 scipy.stats
모듈에는 roc_auc_score
함수가 있습니다. 이 함수를 사용하여 AUC를 계산할 수 있습니다. 아래는 사용 예시입니다.
from scipy import stats
# 실제 값과 예측 값 초기화
actual = [1, 0, 1, 1, 0]
predicted = [0.7, 0.3, 0.8, 0.9, 0.2]
# AUC 계산
auc = stats.roc_auc_score(actual, predicted)
print(f"AUC: {auc}")
위의 예시에서는 actual
변수에는 실제 값(0 또는 1)을, predicted
변수에는 모델의 예측 값(0.0에서 1.0 사이의 실수)을 입력합니다. roc_auc_score
함수는 입력된 값에 대한 AUC를 계산합니다.
결과 확인하기
위의 코드를 실행하면 다음과 같은 결과가 출력됩니다.
AUC: 0.75
이 경우, AUC 값은 0.75로 나타납니다. AUC 값은 일반적으로 0.5에서 1.0 사이의 값을 가지며, 1.0에 가까울수록 모델의 성능이 좋다고 판단할 수 있습니다.
결론
SciPy를 사용하여 AUC를 계산하는 방법에 대해 알아보았습니다. AUC는 모델의 성능을 평가하는 중요한 지표이며, SciPy의 roc_auc_score
함수를 사용하면 간편하게 계산할 수 있습니다. 다양한 예측 모델에 대해 AUC를 계산하여 모델의 성능을 비교해보세요.