sklearn métriques pour multiclasse
J'ai effectué GaussianNB de classification à l'aide de sklearn. J'ai essayé de calculer les paramètres à l'aide du code suivant:
print accuracy_score(y_test, y_pred)
print precision_score(y_test, y_pred)
Précision score est de travailler correctement, mais la précision de calcul de score montre l'erreur:
ValueError: la Cible est multiclass mais la moyenne='binaire'. Veuillez choisir un autre réglage moyen.
Que la cible est multiclasse, puis-je avoir la métrique des scores de précision, rappel, etc.?
OriginalL'auteur dino | 2017-08-25
Vous devez vous connecter pour publier un commentaire.
L'appel de la fonction
precision_score(y_test, y_pred)
est équivalent àprecision_score(y_test, y_pred, pos_label=1, average='binary')
.La documentation (http://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_score.html) nous dit:
Donc, le problème est que vos étiquettes ne sont pas binaires, mais probablement un chaud codé. Heureusement, il existe d'autres options qui doivent travailler avec vos données:
precision_score(y_test, y_pred, average=None)
sera de retour la précision des scores pour chaque classe, alors queprecision_score(y_test, y_pred, average='micro')
sera de retour le total ratiode tp/(tp + fp)
La
pos_label
argument sera ignoré si vous choisissez un autreaverage
option quebinary
.OriginalL'auteur ml4294