y_true: 타겟 변수의 실제 클래스 라벨 (그라운드 트루스). 형태는 (num_samples,) 여야 합니다.
y_probas: 각 클래스에 대해 예측된 확률 또는 결정 점수. 형태는 (num_samples, num_classes) 여야 합니다.
labels: y_true 의 클래스 인덱스에 해당하는 사람이 읽을 수 있는 라벨. 예를 들어, labels=['dog', 'cat'] 인 경우 플롯에서 클래스 0은 ‘dog’, 클래스 1은 ‘cat’으로 표시됩니다. None인 경우, y_true 의 원래 클래스 인덱스가 사용됩니다. 기본값은 None입니다.
classes_to_plot: ROC 커브에 포함할 고유 클래스 라벨의 서브셋. None인 경우, y_true 에 있는 모든 클래스가 플롯됩니다. 기본값은 None입니다.
title: ROC 커브 플롯의 제목. 기본값은 “ROC Curve”입니다.
split_table: 테이블을 W&B UI에서 별도의 섹션으로 분리할지 여부. True 인 경우, 테이블은 “Custom Chart Tables”라는 이름의 섹션에 표시됩니다. 기본값은 False 입니다.
Returns:
CustomChart: W&B에 로그할 수 있는 커스텀 차트 오브젝트. 차트를 로그하려면 wandb.log() 에 전달하세요.
Raises:
wandb.Error: numpy, pandas 또는 scikit-learn을 찾을 수 없는 경우.
Example:
import numpy as npimport wandb# 세 가지 질병에 대한 의료 진단 분류 문제 시뮬레이션n_samples = 200n_classes = 3# 실제 라벨: 각 샘플에 "Diabetes", "Hypertension", "Heart Disease" 할당# 각 샘플에 할당disease_labels = ["Diabetes", "Hypertension", "Heart Disease"]# 0: Diabetes, 1: Hypertension, 2: Heart Diseasey_true = np.random.choice([0, 1, 2], size=n_samples)# 예측 확률: 각 샘플의 확률 합이 1이 되도록 시뮬레이션# 각 샘플에 대해y_probas = np.random.dirichlet(np.ones(n_classes), size=n_samples)# 플롯할 클래스 지정 (세 가지 질병 모두 플롯)classes_to_plot = [0, 1, 2]# W&B run을 초기화하고 질병 분류를 위한 ROC 커브 플롯을 로그합니다with wandb.init(project="medical_diagnosis") as run: roc_plot = wandb.plot.roc_curve( y_true=y_true, y_probas=y_probas, labels=disease_labels, classes_to_plot=classes_to_plot, title="ROC Curve for Disease Classification", ) run.log({"roc-curve": roc_plot})