728x90
roc_curve
roc_curve를 그리기 위해서는 roc_curve의 x,y값을 받아와야하는데, 이는 sklearn.matrics.roc_curve()함수에서 제공하고 있다. g해당 함수의 return값은 거짓긍정률(1 - 특이도), 참긍정률(재현율) , 임계값(Thresholds) 이 같은 순서로 출력되는 이를 Unpacking하면 해당 함수의 return값을 각각 지정해준 변수에 받아올 수 있다.
from sklearn.metrics import roc_curve
FPRs, TPRs, Thresholds = roc_curve(Test Data, Pred Data)
roc_curve ; visualization
데이터 분석의 꽃은 시각화이기 때문에 roc_curve를 시각화해서 표현해볼 것이다. 이번에는 한 개의 모델에 대해서 시각화 하는 예시를 담았다. 하지만 실제로 train data에 대해서 여러가지 모델을 학습시킨 후 각 모델 별로 성능을 비교한다고 가정하면 어떤 모델이 auc가 가장 넓은지 파악할 때 시각화하는 것이 많은 도움이 될 것이다.
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve
FPRs, TPRs, Thresholds = roc_curve(Test Data, Pred Data)
# 그래프
plt.plot(FPRs, TPRs, label = 'ROC')
plt.plot([0,1],[0,1], '--', label = '0.5')
plt.legend() # 범례 출력
# x,y축 이름
plt.xlabel("FPR") # 1 - Sensitivity
plt.ylabel("TPR") # Recall
# x,y축 범위
plt.xlim(0,1)
plt.ylim(0,1)
# 그래프 출력
plt.show()
roc_auc_score
이제 학습시킨 모델의 roc_curve 의 아래면적 즉, auc를 score형태로 알아보기 위해선 아래와 같은 함수를 사용하면 편리하다.
from sklearn.metrics import roc_auc_score
roc_score = roc_auc_score( Test Data, Pred Data )
print(roc_score)
인스타 주소 🎗
반응형
'Data Science > Modeling' 카테고리의 다른 글
[Adaline] - 경사하강법(GD) 완벽정리 (0) | 2023.04.17 |
---|---|
[Adaline] - 비용함수, 손실함수, 목적함수, 가설함수 (1) | 2023.04.17 |
[Adaline] - 아달린 이해하기 (적응형 선형 뉴런) (0) | 2023.04.17 |
[Perceptron] - 퍼셉트론 이해하기 (0) | 2023.04.17 |
[분류 모델 평가] - sklearn.metrics.혼동 행렬(confusion_matrix) (0) | 2022.11.29 |