0

sparse製品に対応する 1100 列とユーザーに対応する 130,000 行を超えるスパース マトリックスがあります。このスパース行列の値は 1 または NA で、1 は「購入」に対応し、NA は「購入しない」に対応します。

この行列を に変換しrealRatingMatrix、次の方法で IBCF モデルを構築しようとしました。

item_rec <- Recommender(sparse[1:nrow(sparse)],method="IBCF", 
                        param=list(method="Cosine",k=30, normalize_sim_matrix = F,
                                   alpha = 0.5, na_as_zero = F))

このコマンドは現在数時間実行されていますが、UBCFメソッドを使用した別のモデルは数秒で完了しました。

rec <- Recommender(sparse[1:nrow(sparse)],method="UBCF", 
                   param=list(method="Cosine",nn=5, minRating=1))

アイテム間の類似性マトリックスの構築にはさらに時間がかかる場合がありますが、これほど時間がかかるのは正常なことですか、それともコードまたはアプローチに何か問題がありますか (たとえば、それを に変換するbinaryRatingMatrixか、別の引数を使用する必要がありますか? )

4

1 に答える 1

0

コサイン距離は、今のところ密な行列で計算されます (疎な実装がいつか追加されることを願っています)。完全なマトリックスを作成してから距離を計算すると、非常に時間がかかると思います。

より小さなサンプルを試しましたか? たぶん1000または10000行ですか?

于 2020-10-15T13:41:27.023 に答える