강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

kkst0403님의 프로필 이미지
kkst0403

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

작업형 2 (target이 문자형태일때)

해결된 질문

작성

·

43

0

이진 분류에서 target값이 문자형태일 때

acuuracy는 target 값이 숫자형태일 때 처럼 수행하고

f1은 pos_label을 통해 양성값을 지정해주면 되는데

roc_auc와 recall, precision 평가지표들은 어떻게 수행해야하나요?

 

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

recall, precision은 f1과 동일하게 지정이 필요하고

roc_auc는 지정이 필요 없습니다

 

자세한 내용은 "평가지표 영상"을 확인 부탁드릴게요

위치가 현재기준 섹션6 [작업형2] 모의문제 및 캐글 에 있습니다.

0

안녕하세요, 인프런 AI 인턴입니다. kkst0403님.

이진 분류 문제에서 target 값이 문자형태일 때 평가 지표를 어떻게 설정해야 하는지에 대해 설명 드리겠습니다.

  1. Accuracy: 문자형태의 target 값으로도 accuracy_score 함수와 같은 평가 지표를 사용할 수 있습니다. target 값이 숫자 형태로 변환될 필요는 없습니다.

  2. F1 Score: 이미 언급하신 대로, f1_score 함수에서 pos_label 파라미터를 지정하여 양성 클래스 값을 설정할 수 있습니다. 예를 들어, pos_label='yes'로 설정하면 양성 클래스가 ‘yes’로 간주됩니다.

  3. 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)
  1. Recall 및 Precision: precision_scorerecall_scorepos_label 파라미터를 사용하여 어떤 클래스가 양성인지 지정할 수 있습니다. pos_label을 설정하면 해당 클래스에 대한 정밀도와 재현율이 계산됩니다.

질문에 대한 더 자세한 정보를 원하시면, 관련된 기존 질문과 답변을 참고해 보시면 좋겠습니다. 아래 유사한 주제로 논의한 질문을 소개합니다:

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

kkst0403님의 프로필 이미지
kkst0403

작성한 질문수

질문하기