gpt4 book ai didi

machine-learning - Apache Spark ALS协作过滤结果。他们没有道理

转载 作者:行者123 更新时间:2023-11-30 08:28:38 24 4
gpt4 key购买 nike

我想尝试使用Spark来使用MLlib进行协同过滤,如本教程中所述:
https://databricks-training.s3.amazonaws.com/movie-recommendation-with-mllib.html
该算法基于论文“隐式反馈数据集的协作过滤”,并进行矩阵分解。

使用1000万个Movielens数据集,一切都已启动并开始运行。
数据集分为80%训练,10%测试和10%验证。

  • RMSE基准:1.060505464225402
  • RMSE(火车)= 0.7697248827452756
  • RMSE(验证)= 0.8057135933012889对于使用等级= 24,lambda = 0.1和迭代次数= 10训练的模型
  • 最佳模型将基线提高了23.94%。

  • 尽管具有不同的训练参数,但它们的值与本教程相似。

    我尝试了几次运行算法,并且总是得到对我没有任何意义的建议。
    即使只给 child 电影评分,我也会得到以下结果:

    评分:
  • 个人评级:玩具总动员(1995)评分:4.0
  • 个人评级:丛林之书(1994)评价:5.0
  • 个人评级:狮子王(1994)评级:5.0
  • 个人评级:Mary Poppins(1964)评级:4.0
  • 个人评级:爱丽丝梦游仙境(1951)评级:5.0

  • 结果:

    为您推荐的电影:
  • 小樽的生活,(Saikaku ichidai恩纳)(1952)
  • 更多(1998)
  • 谁在那边唱歌? (又名《谁在那儿唱歌》)(Ko to tamo peva)(1980)
  • Sundays and Cybele(Leman Dimanches de Ville d'Avray)(1962)
  • 蓝光(The Das Blaue Licht)(1932)
  • 《哈维·米尔斯时报》,(1984年)
  • 请为我投票(2007)
  • 植树的人,(L')(1987)
  • 肖申克的救赎(1994)
  • 仅昨日(Omohide poro poro)(1991)

  • 除了昨天以外,这似乎没有任何意义。

    如果有任何人知道如何解释这些结果或获得更好的结果,我将非常感谢您分享您的知识。

    此致

    编辑:

    如建议的那样,我训练了另一个具有更多因素的模型:
  • 基准错误:1.0587417035872992
  • RMSE(火车)= 0.7679883378412548
  • RMSE(验证)= 0.8070339258049574对于使用等级= 100,lambda = 0.1和numIter = 10训练的模型

    以及不同的个人评分:
  • 个人评级:星球大战:第六集-绝地归来(1983)评级:5.0
  • 个人评级:任务:不可能(1996)评级:4.0
  • 个人评级:艰苦:复仇(1995)评级:4.0
  • 个人评级:永远的 bat 侠(1995)评价:5.0
  • 个人评级:黑衣男人(1997)评级:4.0
  • 个人评级:终结者2:审判日(1991)评级:4.0
  • 个人评分:Top Gun(1986)评分:4.0
  • 个人评级:星球大战:第V集-帝国反击战(1980)评分:3.0
  • 个人评分:外星人(1979)评分:4.0

  • 推荐的电影是:

    为您推荐的电影:
  • 卡门(1983)
  • Silent Light(Stellet licht)(2007)
  • 耶稣(1979)
  • 小樽的生活,(Saikaku ichidai恩纳)(1952)
  • 美国之心(2003)
  • 圣经告诉我(2007)
  • 更多(1998)
  • 传说的Leigh Bowery,(2002)
  • 丧葬(The Ososhiki)(1984)
  • Longshots,(2008年)

  • 没有一个有用的结果。

    编辑2:
    通过使用隐式反馈方法,我可以获得更好的结果!对于与以上相同的 Action 电影,建议如下:

    为您推荐的电影:
  • 星球大战:第四集-新希望(又名《星球大战》)(1977)
  • 终结者(1984)
  • 夺宝奇兵(Indiana Jones and夺宝奇兵)(1981)
  • Die Hard(1988) 教父(1972年)
  • 外星人(1986)
  • 摇滚(1996)
  • 独立纪念日(又称ID4)(1996)
  • 星际迷航II:可汗之怒(1982)
  • GoldenEye(1995年)

  • 这是我所期望的!问题是为什么显式版本太差劲了

    最佳答案

    请注意,您正在运行的代码不使用隐式反馈,也不完全是您所引用的算法。只要确保您没有使用ALS.trainImplicit即可。您可能需要不同的lambda和等级。对于该数据集,RMSE为0.88是“OK”;我不清楚该示例的值是最佳值还是仅仅是玩具测试产生的值。您仍在此处使用其他值。也许这还不是最优的。

    从那以后,它甚至可能成为ALS实现中的错误之类的东西。如果可以,请尝试与ALS的另一种实现方式进行比较。

    我总是试图抵制建议的合理化,因为即使对于随机的建议,我们的大脑也不可避免地会找到一些解释。但是,嘿,我可以说您在这里没有采取任何行动,恐怖片,犯罪剧和恐怖片。我发现 children 的电影与对附庸风雅电影的喜爱息息相关,因为那种那种对MovieLens充满情趣的人可以追溯到那时,并且对 child 的电影的评价不是真正的 child ,而是 parent ,甚至软件工程师的年龄都足够大。让 children 喜欢看你看的这类外国电影。

    关于machine-learning - Apache Spark ALS协作过滤结果。他们没有道理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26213573/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com