Plot_ROC_AUC_multiple -> roc_auc_multiple(test_g, model_*, model_*, model_*, model_*, model_*)

PHOTO EMBED

Mon Aug 08 2022 12:39:01 GMT+0000 (Coordinated Universal Time)

Saved by @mnis00014

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) 
content_copyCOPY