Dans de nombreux cas, lorsque vous appliquez des algorithmes de classement (par exemple, recherche Google, recommandation de produits Amazon), vous obtenez des centaines et des milliers de résultats. L'utilisateur veut seulement regarder en haut ~ 20 environ. Le reste est donc complètement hors de propos.
Pour le dire clairement: Seul le hautk les éléments sont pertinents
Si cela est vrai pour votre application, cela a des implications directes sur la métrique:
- Il suffit de regarder en haut k articles classés et le haut k éléments du classement de la vérité terrain.
- L'ordre de ceux potentiellement 2 k les articles peuvent être pertinents ou non - mais à coup sûr, l'ordre de tous les autres articles n'est pas pertinent.
Trois mesures pertinentes sont l'exactitude top-k, la précision @ k et le rappel @ k. lekdépend de votre application. Pour chacun d'eux, pour les requêtes de classement que vous évaluez, le nombre total d'éléments pertinents doit être supérieur àk.
Précision de classement top-k pour le classement
Pour la vérité, il pourrait être difficile de définir un ordre. Et si vous distinguez seulement pertinent / non pertinent, vous êtes en fait dans un cas de classification!
La précision top-n est une métrique pour la classification. Voir Quelle est la définition de la précision Top-n? .
précision top-k= à quelle fréquence au moins un élément pertinent figurait-il dans le top-k d'une requête de classement?classement des requêtes
Vous laissez donc l'algorithme de classement prédire k et voir s'il contient au moins un élément pertinent.
J'aime beaucoup cela parce qu'il est si facile à interpréter. k provient d'une exigence commerciale (probablement k ∈ [ 5 , 20 ]), vous pouvez alors dire à quelle fréquence les utilisateurs seront satisfaits.
Inconvénient: si vous vous souciez toujours de la commande dans le k éléments, vous devez trouver une autre métrique.
Précision @ k
Précision @ k = nombre d'éléments pertinents dans le top-kk∈ [ 0 , 1 ] , plus c'est mieux
Ce qu'il vous dit:
- s'il est élevé -> Une grande partie de ce que vous montrez à l'utilisateur est pertinent pour lui
- s'il est faible -> Vous perdez du temps à vos utilisateurs. Une grande partie de ce que vous leur montrez ne les concerne pas
Rappel @ k
Rappel @ k = nombre d'éléments pertinents dans le top-knombre total d'articles pertinents∈ [ 0 , 1 ] , plus c'est mieux
Ce que cela veut dire:
- S'il est élevé: vous montrez ce que vous avez! Vous leur donnez tous les éléments pertinents.
- S'il est faible: par rapport au montant total des éléments pertinents, k est petit / les éléments pertinents dans le top k sont petits. Pour cette raison, rappeler @ k seul peut ne pas être aussi significatif. S'il est combiné avec une haute précision @ k, alors augmenter k pourrait avoir du sens.