In dieser Antwort wird mat
die Konfusionsmatrix, die Sie beschreiben.
Sie können berechnen und zu speichern Genauigkeit mit:
(precision <- diag(mat)/rowSums(mat))
# setosa versicolor virginica
# 1.0000000 0.9090909 0.8750000
:
(accuracy <- sum(diag(mat))/sum(mat))
# [1] 0.9333333
Präzision für jede Klasse (vorausgesetzt, die Vorhersagen sind in den Zeilen und die wahren Ergebnisse sind auf den Säulen) mit berechnet werden
Wenn Sie die Genauigkeit für eine bestimmte Klasse packen wollten, könnten Sie tun:
(precision.versicolor <- precision["versicolor"])
# versicolor
# 0.9090909
recall <- (diag(mat)/colSums(mat))
# setosa versicolor virginica
# 1.0000000 0.8695652 0.9130435
Wenn Sie Rückruf für eine bestimmte Klasse wollen, man könnte etwas tun, wie:Recall für jede Klasse (wieder unter der Annahme, die Vorhersagen sind in den Zeilen und die wahren Ergebnisse sind auf den Säulen) mit berechnet werden:
(recall.virginica <- recall["virginica"])
# virginica
# 0.9130435
Wenn Sie stattdessen die tatsächlichen Ergebnisse, wie die Zeilen und die vorhergesagten Ergebnisse wie die Spalten hatte, dann würden Sie die Präzision drehen und Definitionen wieder zu verwenden.
Daten:
(mat = as.matrix(read.table(text=" setosa versicolor virginica
setosa 29 0 0
versicolor 0 20 2
virginica 0 3 21", header=T)))
# setosa versicolor virginica
# setosa 29 0 0
# versicolor 0 20 2
# virginica 0 3 21
Ist es möglich, eine Gesamt F-Score für diese Daten zu geben, indem mittelt Anwendung? –
@mlee_jordan Ja kannst du. Eine Ressource für weitere Untersuchungen ist das scikit-learn Handbuch: http://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics. Es kann jedoch bessere, allgemeinere Ressourcen geben. Wenn Sie den F-Score in einem Multiclass-Fall berechnen, berechnet er automatisch den Score und den Durchschnitt pro Klasse. In anderen Fällen, wie zum Beispiel Rückruf, haben Sie die Möglichkeit, Mikronittelwerte (zählen Sie alle TP, FN, FP und berechnen Sie die Punktzahl) oder Makro-Mittelwerte (berechnen Sie die Punktzahl pro Klasse und Durchschnitt) bei der Berechnung der Punktzahl. – Cerno