[Python] sklearn 라이브러리 classification_report, auc

정또치·2024년 2월 26일
0

지식++1

목록 보기
15/15

y_true : binary
y_pred : binary; sensitive > resistance : 1, s<r : 0
y_pred_origin : 원시 예측값


코드 (scDEAL)


from sklearn.metrics import (average_precision_score,
                             classification_report, mean_squared_error, r2_score, roc_auc_score)
                             
dl_result = np.array(dl_result) # R, S # prediction
lb_results = np.argmax(dl_result,axis=1) # binary
#pb_results = np.max(dl_result,axis=1)
pb_results = dl_result[:,1] # S

report_dict = classification_report(Y_test, lb_results, output_dict=True) # binary 이어야 함
report_df = pd.DataFrame(report_dict).T

# 여기서 왜 lb_results로 안하고 pb_results로 하나 -> 원시 예측값 사용
ap_score = average_precision_score(Y_test, pb_results) 
auroc_score = roc_auc_score(Y_test, pb_results)



classification_report 을 사용할 땐 binary로 된 pred 값을 쓰는데
aucap를 구할땐 원시 pred 값을 사용하는지 몰랐다

classification_report 함수는 일반적으로 이진 또는 다중 클래스 분류 문제에 사용되기 때문에, 예측값 y_pred로 확률이 주어진 경우에는 이를 이진 분류로 변환해주어야 합니다.
AUC는 모델의 원시 예측값을 직접 사용하는 것이 일반적입니다.

profile
ddochi

0개의 댓글