1

ALS を使用しようとしていますが、現在、データはユーザーが購入したものに関する情報に限定されています。そのため、ユーザー X がアイテム Y を購入したときに、Apache Spark からの ALS に評価を 1 (1) に設定しようとしていました (そして、そのアルゴリズムに提供した情報のみ)。

私はそれを学習しようとしていた (トレーニング/テスト/検証用に分割されたデータ)、またはすべてのデータについて学習しようとしていましたが、最終的には、任意のペアのユーザー項目に対して非常に類似した値 (5 番目または 6 番目に区別された値) で予測を得ていました。 0,86001 や 0,86002 のようにコンマの後に置きます)。

そんなことを考えていたのですが、もしかしたらレーティング=1しか出せないので、ALSはそんな極限状態で使えないのでしょうか?

このような問題を解決するために使用できる評価に関するトリックはありますか (購入したものに関する情報しかありません。後でより多くのデータを取得する予定ですが、取得するまで、何らかの協調フィルタリングを使用する必要があります。より多くのデータ - 言い換えれば、スタートアップ ページで何らかの推奨事項をユーザーに表示する必要があります。スタートアップ ページに ALS を選択しましたが、別のものを使用する可能性があります。正確には何ですか)?

もちろん、反復、ラムダ、ランクなどのパラメーターを変更していました。

4

1 に答える 1

1

この場合、重要なのは、の値trainImplicitを無視する を使用する必要があるということです。Ratingそれ以外の場合は、誰もがすべてを 1 と評価する世界で評価を予測するように求めています。正しい答えは常に 1 であるため、すべての答えは似ています。

于 2015-02-11T20:27:25.087 に答える