まず、次のことを自問してください。
何を測定しようとしていますか?
ここで他の提出物を非難するつもりはありませんが、mjv と Sjoerd の回答は、あなたがしようとしていることが期待どおりに機能しない可能性がある理由について、いくつかのもっともらしいヒューリスティックな理由を提供しています。実験に欠陥がある理由と、それを改善するために何ができるかを説明しないという意味で、建設的ではありません。これらの問題のいずれかに対処する前に、何を測定したいかを定義する必要があり、それから初めて実験を考案する必要があります。
さて、あなたの目的に適した指標を構成するものが何であるかは断言できませんが、いくつかの提案をすることができます. 出発点として、適合率と再現率のグラフを使用してみることができます。
http://en.wikipedia.org/wiki/Precision_and_recall
これは、機械学習および情報検索 (つまり、Web 検索) におけるランキングおよび分類アルゴリズムのパフォーマンスを評価するための標準的な手法です。エンジニアリングのバックグラウンドがある場合は、精度/再現率が精度/精度の概念を一般化することを理解しておくと役立ちます。
http://en.wikipedia.org/wiki/Accuracy_and_precision
ここで、アルゴリズムが次のようなことを行うと仮定しましょう。ユーザーに関する以前のデータを入力として受け取り、ユーザーが好む可能性のある他のアイテムのランク付けされたリストを返します。たとえば、アルゴリズムが Web 検索エンジンで、アイテムがページであるとします。または、映画のレコメンデーションがあり、アイテムが本です。これは、あなたが今しようとしていることと非常によく似ているように聞こえるので、この類推を続けましょう。
次に、最初の n に対するアルゴリズムの結果の精度は、最初から上位 n までのレコメンデーションのうち、ユーザーが実際に気に入ったアイテムの数です。
precision = #(items user actually liked out of top n) / n
リコールは、アイテムの総数のうち、実際に手に入れたアイテムの数です。
recall = #(items correctly marked as liked) / #(items user actually likes)
理想的には、これらの量の両方を最大化する必要がありますが、ある意味でそれらは競合する目的です。これを説明するために、いくつかの極端な状況を考えてみましょう。たとえば、すべてを返すレコメンダーを使用できます。この場合、リコールは完全になりますが、精度は非常に低くなります。2 番目の可能性は、何も返さないか、確実なヒットを 1 つだけ返すレコメンダーを使用することです。この場合、(限定的な意味で) 完全な精度が得られますが、再現率はほとんどありません。
その結果、ランキング アルゴリズムのパフォーマンスを理解するために、人々は通常、精度と再現率のグラフを確認します。これらは、返されるアイテムの数が変化したときの精度と再現率の単なるプロットです。

次のチュートリアルから取得した画像 (読む価値があります):
http://nlp.stanford.edu/IR-book/html/htmledition/evaluation-of-ranked-retrieval-results-1.html
アルゴリズムの精度と再現率を概算するために、次のことができます。まず、アルゴリズムによってランク付けされた n 個の結果の大規模なセットを返します。次に、ユーザーに n 個の結果から実際に気に入った項目をマークしてもらいます。これにより、ドキュメントの部分セット < n (数がわかっているため) ごとに精度を計算するのに十分な情報が簡単に得られます。セット全体でユーザーが気に入ったアイテムの総数を取得することで、(このドキュメント セットに限定して) 再現率を計算することもできます。これにより、このデータの精度再現率曲線をプロットできます。現在、より少ない作業でこれを推定するためのより洗練された統計手法がありますが、私はすでに十分に書いています。詳細については、私の回答の本文にあるリンクを確認してください。