2021. 5. 8. 02:39ㆍ데이터 사이언스/모델링 결과 확인
ㅇ 모듈 임포트
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
from sklearn.metrics import accuracy_score
from sklearn.metrics import roc_curve
from sklearn.metrics import roc_auc_score
from IPython.display import Image
ㅇ 개별 ROC 결과 예시
ㅇ 종합 ROC 결과 예시
ㅇ 메소드 정의
1. 개별 ROC #############################
def plot_roc(model):
y_pred_prob = model.predict_proba(X_test)[:,1]
fpr, tpr, thresholds = roc_curve(y_test, y_pred_prob)
plt.plot(fpr, tpr)
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.0])
plt.plot([0, 1], [0, 1],'r--')
plt.title('ROC curve for Bank marketing Classifier', fontsize = 15)
plt.xlabel('False positive rate (1-Specificity)', fontsize = 15)
plt.ylabel('True positive rate (Sensitivity)', fontsize = 15)
plt.text(x = 0.02, y = 0.9, s = ('AUC Score:',round(roc_auc_score(y_test, y_pred_prob),4)))
plt.grid(True)
ㅇ 종합 ROC 코드 예시 #####################
plot_roc(gnb_model)
plot_roc(knn_model)
plot_roc(decision_tree)
plot_roc(rf_classification)
plot_roc(ada_model)
plot_roc(gboost_model)
plot_roc(xgb_model)
plot_roc(lgb_model)
plot_roc(cat_model)
plot_roc(stack_model)
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.0])
plt.plot([0, 1], [0, 1],'r--')
plt.title('ROC curve analysis', fontsize = 15)
plt.xlabel('False positive rate (1-Specificity)', fontsize = 15)
plt.ylabel('True positive rate (Sensitivity)', fontsize = 15)
plt.legend(prop={'size':13}, loc='lower right')
plt.grid(True)
'데이터 사이언스 > 모델링 결과 확인' 카테고리의 다른 글
설명가능한 머신러닝 (IML) (0) | 2023.03.01 |
---|---|
Confusion_matrix 메소드 정의 (0) | 2021.05.08 |
여러 지표들의 결과를 한 눈에 정리해주는 메소드 (0) | 2021.05.08 |