여러 지표들의 결과를 한 눈에 정리해주는 메소드

2021. 5. 8. 02:38데이터 사이언스/모델링 결과 확인

ㅇ결과 예시

test_report = get_test_report(gnb_model)

print(test_report)

 

 

 

update_score_card("Simple Logistic Regression",logreg,cutoff=0.69,stability="Good")

 

 

ㅇ필요한 메소드
1. ################################

score_card = pd.DataFrame(columns=["Model Name",'Prob.Cutoff',"Stability","r2_score"'AUC''Precision''Recall',

                                       'Accuracy''Kappa''f1-score'])

def update_score_card(Model_name,model,cutoff='-',stability="Stable"):

    y_pred_prob = model.predict(X_test)

    y_pred = [ 0 if x < cutoff else 1 for x in y_pred_prob]

    global score_card

    score_card = score_card.append({"Model Name":Model_name,

                                    "Prob.Cutoff":cutoff,

                                    'Stability': stability,

                                    "r2_score":model.prsquared,

                                    'AUC' : metrics.roc_auc_score(y_test, y_pred_prob),

                                    'Precision': metrics.precision_score(y_test, y_pred),

                                    'Recall': metrics.recall_score(y_test, y_pred),

                                    'Accuracy': metrics.accuracy_score(y_test, y_pred),

                                    'Kappa':metrics.cohen_kappa_score(y_test, y_pred),

                                    'f1-score': metrics.f1_score(y_test, y_pred)}, 

                                    ignore_index = True)

    return score_card

 

2. ##################################

def get_test_report(model):

    test_pred = model.predict(X_test)

    return(classification_report(y_test, test_pred))