首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >中ALS机器学习算法中的秩是什么?

中ALS机器学习算法中的秩是什么?
EN

Stack Overflow用户
提问于 2015-06-09 10:37:55
回答 1查看 8.1K关注 0票数 16

我想尝试一个ALS机器学习算法的例子。而且我的代码工作得很好,但是我不理解算法中使用的参数rank

我在java中有以下代码

代码语言:javascript
复制
    // Build the recommendation model using ALS
    int rank = 10;
    int numIterations = 10;
    MatrixFactorizationModel model = ALS.train(JavaRDD.toRDD(ratings),
            rank, numIterations, 0.01);

我读到一些地方说,这是模型中潜在因素的数量。

假设我有一个有100行的数据集(用户、产品、评级)。rank (潜在因素)的价值应该是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-09 12:36:58

正如你所说的,等级是指假定的潜在因素或隐藏因素。例如,如果你测量不同的人有多喜欢电影,并试图交叉预测它们,那么你可能有三个领域:人物,电影,明星的数量。现在,假设你是无所不知的,你知道绝对的真相,你知道事实上所有的电影收视率都可以被三个隐藏的因素完美地预测,性别,年龄和收入。在这种情况下,你跑步的“等级”应该是3。

当然,你不知道有多少潜在的因素,如果有的话,驱动你的数据,所以你必须猜测。您使用的越多,结果就越好,但您需要更多的内存和计算时间。

一种方法是从5-10级开始,然后一次增加5级,直到你的结果停止改善为止。这样,您就可以通过实验确定数据集的最佳排名。

票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30729656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档