Fingerübungen: *args, **kwargs#
zugehöriges Notebook: e_r2_funktionsparameter_AUTO
Abgeleitete Metriken der Confusion Matrix#
Fallbeispiel: http://www.jbusse.de/dsci-ml/x_jockey.html
Gegeben:
die Confusion Matrix eines KI-basierten Klassifikators als Dict
z.B.
confusion_matrix = { "TP": 48, "FP": 4, "TN": 36, "FN": 12 }
Gesucht:
eine Funktion
CM_Metriken()
, die typische davon abgeleitete Metriken zum solch einem Dict hinzufügt, insbesondereprevalence
,FNR
,TNR
,FPR
,PPV
.d
def CM_Metriken(CM): # CM ist ein Dict mit den keys TP, FP, TN, FN
CM['P'] = CM['TP'] + CM['FN']
CM['N'] = CM['TN'] + CM['FP']
prevalence = CM['P'] / (CM['P'] + CM['N'])
# usw.
# kein return an dieser Stelle,
# weil wir als beabsichtigten Seiteneffekt den Parameter CM verändern:
# das geht, ist aber schlechter Programmierstil
def CM_Metriken_2(TP, FP, TN, FN):
P = TP + FN
N = TN + FP
prevalence = P / (P + N)
TPR = TP / P
FNR = FN / P
TNR = TN / N
FPR = FP / N
PP = TP + FP
PPV = TP / PP
PN = TN + FN
FOR = FN / PN
... #
confusion_matrix = { "TP": 48, "FP": 4, "TN": 36, "FN": 12 }
CM_Metriken_2(**confusion_matrix)