Pourquoi est-ce que je reçois un « UndefinedMetricWarning » lors du calcul du F-Score dans Scikit-learn ?

Barbara Streisand
Libérer: 2024-11-25 10:19:14
original
642 Les gens l'ont consulté

Why Am I Getting an

Dépannage « UndefinedMetricWarning » dans le calcul du score F

La métrique F-score de Sklearn peut parfois déclencher un « UndefinedMetricWarning » lorsqu'il y a des étiquettes dans les données de vérité terrain (y_test) qui n'ont pas été prédites (y_pred). Cela se produit parce que le score F n’est pas défini pour les étiquettes sans échantillons prédits. Dans de tels cas, le score est fixé à 0,0.

Dans votre cas, vous avez peut-être remarqué que l'erreur n'apparaît que lors de la première exécution et non par la suite. En effet, les avertissements ne sont affichés qu'une seule fois par défaut. Vous pouvez modifier ce comportement en définissant la fonction warns.filterwarnings() sur « toujours » pour afficher les avertissements à chaque fois.

Pour éviter l'avertissement, vous avez deux options :

  1. Ignorer les étiquettes sans prédictions : Spécifiez les étiquettes qui vous intéressent en définissant le paramètre labels sur les valeurs uniques dans y_pred. Cela exclura les étiquettes sans échantillons prédits et l'avertissement disparaîtra :
import numpy as np

metrics.f1_score(y_test, y_pred, average='weighted', labels=np.unique(y_pred))
Copier après la connexion
  1. Gérer explicitement les métriques non définies : Si vous souhaitez gérer les métriques non définies dans un cadre personnalisé De cette manière, vous pouvez utiliser le paramètre error_score pour attribuer une valeur spécifique (par exemple, -1, 0 ou NaN) à undefined métriques.

En ce qui concerne le message d'erreur final "précision", "prédit", moyenne, warn_for)", il s'agit d'un bug dans scikit-learn 0.18.1 qui a été corrigé dans les versions ultérieures. Le message d'erreur ne devrait pas affecter vos résultats.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal