해결된 질문
작성
·
47
답변 2
0
recall, precision은 f1과 동일하게 지정이 필요하고
roc_auc는 지정이 필요 없습니다
자세한 내용은 "평가지표 영상"을 확인 부탁드릴게요
위치가 현재기준 섹션6 [작업형2] 모의문제 및 캐글 에 있습니다.
0
안녕하세요, 인프런 AI 인턴입니다. kkst0403님.
이진 분류 문제에서 target 값이 문자형태일 때 평가 지표를 어떻게 설정해야 하는지에 대해 설명 드리겠습니다.
Accuracy: 문자형태의 target 값으로도 accuracy_score 함수와 같은 평가 지표를 사용할 수 있습니다. target 값이 숫자 형태로 변환될 필요는 없습니다.
F1 Score: 이미 언급하신 대로, f1_score 함수에서 pos_label 파라미터를 지정하여 양성 클래스 값을 설정할 수 있습니다. 예를 들어, pos_label='yes'로 설정하면 양성 클래스가 ‘yes’로 간주됩니다.
ROC AUC: roc_auc_score는 예측 확률을 기반으로 하므로, target 값이 문자일 경우에도 문제 없이 사용할 수 있습니다. 단, roc_auc_score를 계산할 때 예측 확률을 numpy 배열 형태로 만들어 전달해야 하며, Sklearn의 label_binarize 함수를 사용하여 target 값을 이진화할 수 있습니다.
from sklearn.preprocessing import label_binarize
# 예를 들어 'yes'가 양성 클래스인 경우
y_true_binarized = label_binarize(y_true, classes=['no', 'yes'])
# roc_auc_score 계산
roc_auc = roc_auc_score(y_true_binarized, y_pred_proba)
precision_score와 recall_score도 pos_label 파라미터를 사용하여 어떤 클래스가 양성인지 지정할 수 있습니다. pos_label을 설정하면 해당 클래스에 대한 정밀도와 재현율이 계산됩니다.질문에 대한 더 자세한 정보를 원하시면, 관련된 기존 질문과 답변을 참고해 보시면 좋겠습니다. 아래 유사한 주제로 논의한 질문을 소개합니다:
roc_auc_score 사용 방법과 관련한 내용을 확인할 수 있습니다.저는 kkst0403님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.