1

MLlib の ALS 行列因数分解を使用して、すべてのユーザーに上位 n 件の推奨事項を生成する方法を探していましたが、成功しませんでした。そのような方法は存在しますか?

4

3 に答える 3

0

以下を使用できます。

model.recommendProductsForUsers(int num)

これは、spark 1.4 から入手できます

于 2015-09-09T21:52:04.010 に答える
0

非常に遅いと思われる私の現在のアプローチは次のとおりです。

Iterator<Rating> it = ratings.toLocalIterator();
        while (it.hasNext()) {
            int user = it.next().user();
            if (!userList.contains(user)) {
                Rating[] rat = model.recommendProducts(user, 10);
                for (Rating r : rat) {
                    list.add(user + "," + r.product() + "," + r.rating());
                }
                userList.add(user);
            }
        }

効率的なアプローチは大歓迎です。

于 2015-01-20T03:38:55.590 に答える