해결된 질문
작성
·
43
답변 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님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.