Calcule la surface sour la courbe de ROC dans le cas multi-classe. 🌐
Computes the multi-class AUROC
🌐
Computes the multi-class AUROCluz_metric_multiclass_auroc.Rd
La définition de Keras
est utilisée par défaut. Cela équivaut à la méthode 'micro'
dans SciKit Learn.
Voir docs.
Utilisation
luz_metric_multiclass_auroc(
num_thresholds = 200,
thresholds = NULL,
from_logits = FALSE,
average = c("micro", "macro", "weighted", "none")
)
Arguments
- num_thresholds
Nombre de seuils utilisés pour calculer les matrices de confusion. Lorsqu'utilisés, les seuils sont créés en prenant
num_thresholds
valeurs linéairement espacées sur l'intervale [0, 1].- thresholds
(facultatif) Si des seuils sont fournis, alors ceux-ci sont utilisés pour calculer les matrices de confusion et le paramètre
num_thresholds
est ignoré.- from_logits
Si
TRUE
alors nous appliquonstorch::nnf_softmax()
sur les predictions avant le calcul de la métrique.- average
La méthode pour moyenner :
'micro'
: Empile toutes les classes et calcule l'AUC comme si c'était un problème de classification binaire.'macro'
: Trouve l'AUC pour chaque classe et calcule leur moyenne.'weighted'
: Trouve l'AUC pour chaque classe et calcule leur moyenne pondéré en fonction du nombre d'instances pour chaque classe.'none'
: Retourne l'AUC pour chaque classe dans une liste.
Détails
Notez que le déséquilibre des classes peut affecter cette métrique, contrairement à l'AUC pour une classification binaire.
Voir également
Autres métrique de luz:
luz_metric_accuracy()
,
luz_metric_binary_accuracy_with_logits()
,
luz_metric_binary_accuracy()
,
luz_metric_binary_auroc()
,
luz_metric_mae()
,
luz_metric_mse()
,
luz_metric_rmse()
,
luz_metric()
Exemples
if (torch::torch_is_installed()) {
library(torch)
actual <- c(1, 1, 1, 0, 0, 0) + 1L
predicted <- c(0.9, 0.8, 0.4, 0.5, 0.3, 0.2)
predicted <- cbind(1-predicted, predicted)
y_true <- torch_tensor(as.integer(actual))
y_pred <- torch_tensor(predicted)
m <- luz_metric_multiclass_auroc(thresholds = as.numeric(predicted),
average = "micro")
m <- m$new()
m$update(y_pred[1:2,], y_true[1:2])
m$update(y_pred[3:4,], y_true[3:4])
m$update(y_pred[5:6,], y_true[5:6])
m$compute()
}
#> Error in luz_metric_multiclass_auroc(thresholds = as.numeric(predicted), average = "micro"): impossible de trouver la fonction "luz_metric_multiclass_auroc"