Tout au long de cette réponse, mat
est la matrice de confusion que vous décrire.
Vous pouvez calculer et la précision de magasin avec:
(accuracy <- sum(diag(mat))/sum(mat))
# [1] 0.9333333
de précision pour chaque classe (en supposant que les prédictions sont sur les lignes et les vrais résultats sont sur les colonnes) peuvent être calculées avec:
(precision <- diag(mat)/rowSums(mat))
# setosa versicolor virginica
# 1.0000000 0.9090909 0.8750000
Si vous voulez saisir la précision pour une classe particulière, vous pouvez faire:
(precision.versicolor <- precision["versicolor"])
# versicolor
# 0.9090909
Recall pour chaque classe (en supposant à nouveau les prédictions sont sur les lignes et les vrais résultats sont sur les colonnes) peut être calculé avec:
recall <- (diag(mat)/colSums(mat))
# setosa versicolor virginica
# 1.0000000 0.8695652 0.9130435
Si vous voulez un rappel pour une classe particulière, vous pourriez faire quelque chose comme:
(recall.virginica <- recall["virginica"])
# virginica
# 0.9130435
Si au contraire vous avez eu les résultats réels que les lignes et les résultats prévus comme les colonnes, alors vous retournez la précision et le rappel des définitions.
données:
(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
Est-il possible de donner une note globale de F pour ces données en appliquant des moyennes? –
@mlee_jordan Oui, vous pouvez. Le manuel scikit-learn est une ressource qui mérite d'être approfondie: http://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics. Cependant, il peut y avoir de meilleures ressources plus générales. En fait, si vous calculez le score F sur un cas multiclass, il calculera automatiquement le score par classe et la moyenne. Dans d'autres cas, comme le rappel, vous avez la possibilité de calculer des moyennes micro (compter tous les TP, FN, FP et calculer le score) ou des moyennes macro (calculer le score par classe et moyenne) lors du calcul du score. – Cerno