Voglio confrontare due algoritmi di classificazione. In questi algoritmi, il client specifica alcune condizioni nella sua ricerca. In base alle esigenze del cliente, questi algoritmi dovrebbero assegnare un punteggio per ciascun elemento nella banca dati e recuperare gli elementi con il punteggio più alto.
Ho letto diversi argomenti relativi alla mia domanda in questo sito e ho cercato in rete. Secondo le mie ricerche, l'articolo più pertinente che spiega alcune metriche per confrontare gli algoritmi di classificazione, è stato questo: Brian McFee e Gert RG Lanckriet, Metric Learning to Rank, ICML 2010 ( https://bmcfee.github.io/papers/mlr .pdf ). Penso che prec @ k, MAP, MRR e NDCG siano buone metriche da utilizzare, ma ho un problema:
Il mio algoritmo ordina i risultati, quindi il primo elemento nella mia lista dei risultati è il migliore con il punteggio più alto, il secondo risultato ha il secondo punteggio più alto e così via. Limito il mio algoritmo di ricerca per trovare, ad esempio, i 5 migliori risultati. I risultati sono i 5 principali. Quindi, la precisione sarà 1. Quando limito la mia ricerca per trovare il miglior risultato, trova il migliore. Ancora una volta, la precisione sarà 1. Ma il problema è che è inaccettabile per le persone che vedono questo risultato.
Cosa posso fare? Come posso confrontare questi algoritmi e mostrare che uno è migliore dell'altro?