Utilizzando sklearn.metrics in Python, ho calcolato la precisione media (con average_precision_score) e la precisione (con classification_report) durante il test delle metriche del modello. Tuttavia, ho ottenuto risposte diverse (rispettivamente 0,89 e 0,93). Ho letto la documentazione per entrambi e so che le equazioni sono diverse, ma speravo di ottenere una spiegazione intuitiva sulle differenze tra le due e su quando usarle una sullaltra.
Commenti
- Sarà difficile da affrontare per le persone. Dovresti collegarti alla documentazione che hai difficoltà a interpretare, & copia il testo / le equazioni specifiche che ' non capisci. Ecc. È necessario fornire un contesto sufficiente affinché questo sia interpretabile. Vogliamo che i thread qui siano in grado di stare da soli.
- questo articolo fornisce una descrizione dettagliata con esempi Breaking Down Mean Average Precision (mAP)
Risposta
La precisione si riferisce alla precisione a una determinata soglia decisionale. Ad esempio, se si conta un output del modello inferiore a 0,5 come negativo e maggiore di 0,5 come positivo. Ma a volte (specialmente se le tue classi non sono bilanciate, o se vuoi privilegiare la precisione rispetto al ricordo o viceversa), potresti voler variare questa soglia. La precisione media fornisce una precisione media a tutte queste possibili soglie, che è anche simile allarea sotto la curva di richiamo della precisione. È una metrica utile per confrontare il modo in cui i modelli ordinano le previsioni, senza considerare alcuna soglia decisionale specifica.
Riferimento: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.average_precision_score.html
Risposta
La precisione è Pr = TP / (TP + FP) dove è TP e FP sono veri positivi e falsi positivi. quindi, utilizziamo questa metrica per valutare sistemi come i classificatori per sapere con quale precisione abbiamo trovato i positivi. se il tuo classificatore ha contrassegnato una voce Vero anche se è Falso in reale, aumenta FP, che a sua volta diminuisce Pr. Quindi il tuo sistema non è preciso. quindi, in caso di classificatori non abbiamo bisogno di sapere quale voce ha la più alta probabilità di appartenere a una classe o cose del genere.
dove, come diciamo, hai creato unapp che cerca musica video. quindi, se viene fatta una query su una canzone (diciamo che voglio liberarmi), se le prime 5 voci recuperate dalla query non sono affatto correlate alla canzone o alla band “Queen” e le voci da 6 a 10 sono correlate per loro, la tua app è uno spreco totale. quindi, in questi casi in cui lordine è importante, calcoliamo precisione e richiamo (Re = TP / (TP + FN)) e larea sotto la curva è MAP (precisione media media)
Lintuizione alla base lidea è la seguente, poiché il numero di voci vere in reale è fisso, passare a una voce successiva aumenta il richiamo (quando si incontra un vero positivo) o lo mantiene lo stesso (quando si incontra un falso positivo) dove la precisione diminuisce ( se è stato riscontrato FP) e rimane lo stesso o aumenta (se è stato riscontrato TP) quindi, se si ottengono risultati irrilevanti allinizio, la precisione rimane quasi 0, il che rende la tua MAP 0, dove come se si trovassero tutti i risultati accurati al iniziando (che in pratica significa zero FP) in modo che la precisione sia prossima a 1, si ottiene un MAP vicino a 1. che certifica il tuo sistema come il migliore
questo articolo fornisce una descrizione dettagliata con esempi