2015-12-13 15 views
6

ランクベースの推奨システムは、NDCGを使用して推奨精度を評価します。しかし、ときには正確率とリコール率を使ってトップnの推奨を評価します。 NDCGが高い場合、正確率が高いことを意味しますか?しかし、私はListRankMFアルゴリズムを実行します。精度はmovelens 100kデータセットではわずか8%です。 NDCGと正確率の関係は何ですか?ランクベースの推奨でNDCGを使用する理由

答えて

0

NDCGは、推奨システムの目的が関連する結果を返すことであり、順序が重要である場合に最も役立ちます。たとえば、翻訳を推薦するか、銀行口座を推薦するなどです。関連する結果が見つからない場合は有害ではありませんが、良いユーザーエクスペリエンスのためには意味のある順序でそれらを望みます。

リコールは、推薦システムの目的が関連するすべての結果を返すことであり、注文が重要でない場合に最も役に立ちます。例えば、潜在的な医学的診断または処方箋。適切な診断や治療法である可能性があるため、関連する結果が見当たらない場合は有害です。医師がすべての可能性を読んで、最終的な決定のための専門知識を使用することを期待しているので、この注文は重要ではありません。

5人の薬があり、私たちは患者(A〜E)を提供するために医者に勧められ、5人は推薦すべきではない(F〜J)とします。私たちのおすすめシステムは、推奨事項A、B、C、Dを出力します。

  • NDCG = 1.0
  • リコール=この場合は0.8

がはっきり思い出し、我々は同様に私たちは薬を推奨していませんでしたので、(私たちはできる限りしませんでした示しています。これは私たちに以下の評価を与えますE)、NDCGは我々が完璧な勧告をしたと信じさせる。

代わりに書籍を推薦していた場合は、NDCGが適切です。関連する書籍が何百もあるかもしれないので、リコールはそれほど有益ではありませんが、読者が数百の本のリストを読んで、読んだだけで1つを選ぶことは期待できません。 NDCGは、少なくとも可能なものの意味のあるサブセットを推薦しているかどうかを教えてくれるでしょう。

関連する問題