5

最近、研究で R の recommenderlab パッケージを使い始めました。
これはrecommenderlabドキュメントです:

http://cran.r-project.org/web/packages/recommenderlab/vignettes/recommenderlab.pdf

このドキュメントにはいくつかの例がありますが、大きな質問があります。

  • まず、recommenderlab パッケージと Jester5k データ セットを読み込みます。

    library("recommenderlab")
    data(Jester5k)
    
  • Jester5k の最前線 1000 レコード (ユーザー) を使用して学習します。推奨アルゴリズムは POPULAR です。

    r <- Recommender(Jester5k[1:1000], method="POPULAR")
    
  • 次に、1001 番目のユーザーのおすすめリストを予測します。上位5項目を挙げてください。

    recom <- predict(r, Jester5k[1001], n=5)<br/>
    as(recom, "matrix")
    

出力:

[1] "j89" "j72" "j47" "j93" "j76"<br/>
  • 次に、上記の 5 項目の評価を確認します。

    rating <- predict(r, Jester5k[1001], type="ratings")<br/>
    as(rating, "matrix")[,c("j89", "j72", "j47", "j93", "j76")]
    

出力:

j89       j72       j47       j93       j76<br/>
2.6476613 2.1273894 0.5867006 1.2997065 1.2956333<br/>

トップ5リストはなぜか「j89」「j72」「j47」「j93」「j76」なのですが、j47の評価はわずか0.5867006。

理解できません。

recommenderlabの各アイテムの評価はどのように計算されratingMatrixますか?

また、TopN リストはどのように生成されるのでしょうか?

4

1 に答える 1

1

あなたの問題をより明確に把握するために、次の記事を読むことをお勧めします: 「recommenderlab: 推奨アルゴリズムの開発とテストのためのフレームワーク

トップ5リストはなぜ「j89」「j72」「j47」「j93」「j76」なのか

人気の方法を使用しています。これは、予測された最高の評価ではなく、最も評価の高いアイテム (保存数をカウント) に基づいて上位 5 リストを選択していることを意味します。

Recommenderlab は、ratingMatrix の各アイテムの評価をどのように計算しますか? また、TopN リストはどのように生成されるのでしょうか?

recommanderlab は、通常の距離法を使用して予測評価を計算し (ピアソンかコサインかはまだ明らかではありません。チェックする機会がありませんでした)、評価を決定します。(1998)、平均評価に近隣で計算された加重係数を加えた場合、トレーニング セット全体を任意のユーザーの近隣と見なすことができます。これが、同じ項目に対する任意のユーザーの予測評価が同じ値になる理由です。

私のベスト。L

于 2015-01-07T19:40:29.370 に答える