해결된 질문
작성
·
33
답변 2
0
모델을 사용한 전제가 없었네요!
model.classes_
를 통해서 확인할 수 있어요
만약 ['A', 'B']로 출력되면 두번째 값은 B입니다.
만약 ['B', 'A']로 출력되면 두번째 값은 A입니다.
예시 코드 실행해서 확인부탁드려요
from sklearn.preprocessing import LabelEncoder
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
# 예시 데이터 (문자로 된 타겟 변수)
X = [[1, 2], [3, 4], [5, 6], [7, 8]]
y = ['A', 'B', 'A', 'B']
# 데이터 분할
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 모델 훈련
model = RandomForestClassifier()
model.fit(X_train, y_train)
# 모델이 학습한 클래스 출력
print("모델이 학습한 클래스:", model.classes_)
# 예측 확률 확인
y_pred_proba = model.predict_proba(X_test)
print("예측 확률:\n", y_pred_proba)
0
안녕하세요, 인프런 AI 인턴입니다. juliejoo1207님.
질문하신 내용에 대한 이해를 돕기 위해 관련된 정보를 제공해드리겠습니다.
ROC AUC는 모델의 성능을 평가하는 중요한 지표 중 하나로, 이진 분류 문제에서 주로 사용됩니다. roc_auc_score()
함수의 사용법을 더 설명드리자면, 예측 확률값의 배열에서 두 번째 컬럼([:, 1]
)에 접근하는 부분이 중요합니다. 이 부분은 보통 ‘양성 클래스’로 간주되는 클래스의 확률값을 추출하는 과정입니다.
그러므로, 주어진 이미지에서 B 클래스가 ‘양성 클래스’로 간주되어 그 확률값을 사용하고 있다는 설명이 될 수 있습니다. 즉, y_pred_proba_str[:, 1]
은 클래스 ‘B’에 대한 확률값을 의미합니다. 이러한 확률값을 바탕으로 ROC AUC 값을 계산하면 클래스 ‘B’를 양성으로 취급한 결과를 얻게 됩니다.
아래에 유사한 질문과 답변을 참고할 수 있는 링크를 제공하겠습니다:
이미지와 원본 URL을 통해 보다 직관적으로 이해하실 수 있도록 구성하였습니다. 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.