def roc_auc_multiple(df, model_1, model_2, model_3, model_4, model_5): import sklearn.metrics as metrics num_label = {'ok': 1, 'nok' : 0} Y_test = df_test['class'].copy().map(num_label).astype('int') df.reset() predictions_1 = model_1.predict(df, steps=len(df), verbose=0) pred_labels_1= np.where(predictions_1>0.5, 1, 0) predictions_2 = model_2.predict(df, steps=len(df), verbose=0) pred_labels_2= np.where(predictions_2>0.5, 1, 0) predictions_3 = model_3.predict(df, steps=len(df), verbose=0) pred_labels_3= np.where(predictions_3>0.5, 1, 0) predictions_4 = model_4.predict(df, steps=len(df), verbose=0) pred_labels_4= np.where(predictions_4>0.5, 1, 0) predictions_5 = model_5.predict(df, steps=len(df), verbose=0) pred_labels_5= np.where(predictions_5>0.5, 1, 0) roc_auc_1 = metrics.roc_auc_score(Y_test, predictions_1) roc_auc_2 = metrics.roc_auc_score(Y_test, predictions_2) roc_auc_3 = metrics.roc_auc_score(Y_test, predictions_3) roc_auc_4 = metrics.roc_auc_score(Y_test, predictions_4) roc_auc_5 = metrics.roc_auc_score(Y_test, predictions_5) print('ROC_AUC_1: ', roc_auc_1) print('ROC_AUC_2: ', roc_auc_2) print('ROC_AUC_3: ', roc_auc_1) print('ROC_AUC_4: ', roc_auc_2) print('ROC_AUC_5: ', roc_auc_1) plt.rcParams['figure.figsize'] = (20 , 20) fpr_1, tpr_1, thresholds_1 = metrics.roc_curve(Y_test, predictions_1) plt.plot(fpr_1, tpr_1, label = 'ROC_AUC_model_1 = %0.3f' % roc_auc_1) fpr_2, tpr_2, thresholds_2 = metrics.roc_curve(Y_test, predictions_2) plt.plot(fpr_2, tpr_2, label = 'ROC_AUC_model_2 = %0.3f' % roc_auc_2) fpr_3, tpr_3, thresholds_3 = metrics.roc_curve(Y_test, predictions_3) plt.plot(fpr_3, tpr_3, label = 'ROC_AUC_model_3 = %0.3f' % roc_auc_3) fpr_4, tpr_4, thresholds_4 = metrics.roc_curve(Y_test, predictions_4) plt.plot(fpr_4, tpr_4, label = 'ROC_AUC_model_4 = %0.3f' % roc_auc_4) fpr_5, tpr_5, thresholds_5 = metrics.roc_curve(Y_test, predictions_5) plt.plot(fpr_5, tpr_5, label = 'ROC_AUC_model_5 = %0.3f' % roc_auc_5) plt.xlabel("False Positive Rate", fontsize= 12) plt.ylabel("True Positive Rate", fontsize= 12) plt.legend(loc="lower right") fig1 = plt.gcf() plt.show() plt.draw() fig1.savefig('roc_auc_multiple.png', dpi=50)
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter