Seite 1 von 1

Rückgabe der Abgefragten Daten einer Confusion-Matrix mit Sklearn

Verfasst: Dienstag 12. April 2022, 12:57
von b7w12
Hallo Zusammen,

Gibt es eine mögliche Methode, welche mir als Rückgabewert sagt, welche Zeilen/Spalten in der Confusion-Matrix berücksichtigt worden sind ?
Ich möchte den Sachverhalt nochmals an einem Beispiel erklären:

Die Confusion-Matrix sei wie folgt:
[2361 55]
[ 373 211]

Nun kenne ich jedoch nur die reine Anzahl für beispielsweise mein TruePositive mit 2361 Einträgen aus meinem Datensatz.
Gibt es nur hier eine Möglichkeit mir durch beispielsweiße ein Array oder einen String ausgeben zu lassen, welche Zeilen/Spalten meines Datensatzes in mein TruePositive mit einfließen?

Die Frage entsteht daraus, dass in meinem Datensatz eine bestimme Zeile für eine Kostenberechnung berücksichtigt werden soll. Ich benötige also jede Spalte die beispielsweise in das TruePositive mit einbezogen wird um eine genaue Kostenberechnung durchzuführen. Die Möglichkeit die Kosten mit einem Mittelwert zu berechnen, ist für diesen Sachverhalt leider ungenügend.

Vielen Dank im Voraus!

Re: Rückgabe der Abgefragten Daten einer Confusion-Matrix mit Sklearn

Verfasst: Mittwoch 13. April 2022, 07:23
von ThomasL
Hi,

du übergibst doch an confusion_matrix deine ground_truth y_true und die Prognose deines Modells y_pred.
Damit hast du ja alles was du brauchst.

Code: Alles auswählen

from sklearn.metrics import confusion_matrix
import numpy as np

y_true = np.array([0, 1, 0, 1, 0])
y_pred = np.array([0, 0, 1, 1, 0])

print(confusion_matrix(y_true, y_pred))

# [[2, 1],
#  [1, 1]]

print(np.where((y_true == 0) & (y_pred == 0)))

# (array([0, 4], dtype=int64),)
In diesem Beispeil haben die beiden TruePositives den Zeilenindex 0 und 4.

Re: Rückgabe der Abgefragten Daten einer Confusion-Matrix mit Sklearn

Verfasst: Mittwoch 13. April 2022, 09:22
von b7w12
Hi,

Danke für die Idee. Nach kleinen Anpassungen hat es mein Problem lösen können.