sistema di raccomandazione basato su rango, utilizzare NDCG per valutare l'accuratezza della raccomandazione. Tuttavia, a volte vengono utilizzate frequenza di accuratezza e frequenza di richiamo per valutare le raccomandazioni top-n. Significa che quando NDCG è alto, il tasso di precisione è alto? Ma eseguo un algoritmo ListRankMF, il tasso di accuratezza è molto basso sul set di dati di movelens 100k, appena l'8% circa. Qual è la relazione tra NDCG e il tasso di precisione?Perché la raccomandazione basata sul rango utilizza NDCG?
risposta
NDCG è di grande aiuto quando l'obiettivo del sistema recommender è restituire risultati rilevanti e l'ordine è importante. Ad esempio, raccomandando una traduzione o raccomandando un conto bancario. Non è dannoso se perdiamo risultati rilevanti, ma per una buona esperienza utente li vogliamo in un ordine significativo.
Il richiamo è molto utile quando l'obiettivo del sistema recommender è restituire tutti i risultati rilevanti e l'ordine non è importante. Ad esempio, una potenziale diagnosi medica o prescrizione. È dannoso se perdiamo un risultato rilevante, dal momento che potrebbe essere la diagnosi o la cura corretta. L'ordine non è importante poiché ci aspettiamo che il medico legga tutte le possibilità e utilizzi le sue conoscenze specialistiche per la decisione finale.
Supponiamo che ci siano 5 farmaci che potremmo raccomandare a un medico di dare un paziente (da A a E) e 5 che non dovremmo raccomandare (da F a J). Il nostro sistema recommender emette le raccomandazioni A, B, C, D. Questo ci dà le seguenti valutazioni:
- NDCG = 1.0
- Richiamo = 0,8
In questo caso richiamare chiaramente dimostra che non abbiamo fatto così come abbiamo potuto (dato che non abbiamo consigliamo di droga E), mentre NDCG ci porta a credere che abbiamo formulato le raccomandazioni perfette.
Se invece raccomandassimo libri, NDCG sarebbe più appropriato. Il richiamo non è così informativo poiché potrebbero esserci centinaia di libri pertinenti, ma non possiamo aspettarci che un utente legga un elenco di centinaia di libri per sceglierne solo uno da leggere. NDCG ci direbbe se almeno raccomandiamo un sottoinsieme significativo di ciò che è possibile.
- 1. Perché il resharper esegue la seguente raccomandazione?
- 2. Qual è la differenza tra il filtraggio collaborativo raccomandazione Item-based e raccomandazioni basato sul contenuto
- 3. basata sul cambio dom
- 4. Sistema raccomandazione pagina Web
- 5. Pandas ricerca basata sul valore
- 6. Indicizzazione hiearchical basata sul sottolivello
- 7. Modo funzionale per implementare la progettazione basata sul dominio
- 8. array PHP. Semplice suddivisione basata sul tasto
- 9. Raccomandazione di architettura che utilizza SQL Server per l'aggregazione e la denormalizzazione in tempo reale
- 10. Raccomandazione di autenticazione dell'API riposante?
- 11. Come implementare la registrazione basata sul livello in golang?
- 12. Fattori chiave per la progettazione dell'applicazione basata sul web scalabile
- 13. iis7 L'autenticazione basata sul Challenge e basata sul reindirizzamento non può essere utilizzata simultaneamente
- 14. Perché ECMAScript non è ancora una raccomandazione di W3C?
- 15. Albero di rango in C++
- 16. Analisi utente basata sul loro profilo Facebook?
- 17. Scansione basata sul timestamp in HBase?
- 18. Selezione condizionale basata sul valore della colonna
- 19. Perché l'autenticazione basata su reclamo invece dell'autenticazione basata sui ruoli
- 20. Android: vista personalizzata basata sul layout: come?
- 21. RDLC, Immagine dinamica basata sul parametro, C#
- 22. Condizione basata sul valore dell'attributo (schema XML)
- 23. Gulp.js: attività basata sul ciclo forEach
- 24. UITableVista altezza basata sul numero di celle
- 25. Serializzazione basata sul campo di Jackson
- 26. Calcolo del rango percentile
- 27. Inter-Process Communication Raccomandazione
- 28. Confrontando rango un'enumerazione
- 29. La raccomandazione di Resharper è di rendere il mio metodo privato statico una buona raccomandazione?
- 30. Raccomandazione per C# Matrix Library