Ich möchte sklearn.metrics.roc_curve verwenden, um die ROC-Kurve für Multiklassenklassifizierungsproblem zu erhalten. Here gibt eine Lösung zum Anpassen von Roc an das Multiklassenproblem. Aber ich verstehe nicht, was der Parameter "y_score" bedeutet, was ich für diesen Parameter in einem Klassifikationsproblem mit mehreren Klassen bereitstellen sollte.sklearn.metrics.roc_curve für Multiklassenklassifizierung
Angenommen, ein Szenario wie dieses. Es gibt neun Elemente von 0 bis 8. Die ersten drei Elemente gehören zu Gruppe 0, die letzten drei zu Gruppe 2 und die drei Elemente zwischen Gruppe1. 0, 3, 6 sind die Zentren der Gruppen. Ich habe eine paarweise Abstandsmatrix. Was soll ich dann für den Parameter "y_score" angeben?
from sklearn.metrics import roc_curve, auc
from sklearn.preprocessing import label_binarize
listTrue=[0,0,0,1,1,1,2,2,2] #value j at index i means element i is in group j
y=label_binarize(y,classes=range(2))
#get distmatrix
#distmatrix[i][j] gives the distance between element i and element j
fpr=dict()
tpr=dict()
roc_auc=dict()
fpr["micro"], tpr["micro"], _=roc_curve(y.ravel(),y_score?)
roc_auc=auc(fpr["micor"], tpr["micro"])
Ich beabsichtige, Abstandsmatrix zu verwenden, um etwas wie Wahrscheinlichkeit zu erzeugen. Aber was ist y_score im Multiclass-Problem? Da in der Demo 75 Testproben und drei Klassen vorhanden sind, ist y_score ein Array von Shape (75,3). Das heißt, ich muss 3 Werte für eine Probe angeben. Weil ich den SVM Part nicht verstehe, weiß ich nicht wie es y_score in der Demo bekommt. – dudu