【问题标题】:In machine learning which algorithm should I use to recommend, based on different features like rating,type,gender etc在机器学习中,我应该使用哪种算法来推荐,基于评级、类型、性别等不同的特征
【发布时间】:2017-12-19 23:55:23
【问题描述】:

我正在开发一个网站,它将根据访问者的数据向他们推荐食谱。我正在从他们的个人资料、网站活动和 Facebook 中收集数据。

目前我有 [用户名/用户 ID、食谱评分、年龄、性别、类型(蔬菜/非蔬菜)、美食(意大利/中国......等)]等数据。关于上述功能,我想推荐他们没有访问过的新食谱。

我已经实现了 ALS(交替最小二乘)火花算法。在此我们必须准备包含 [userId,RecipesId,Rating] 列的 csv。然后我们必须通过调整 lamdas、Rank、迭代等参数来训练这些数据并创建模型。该模型使用 pyspark 生成推荐

model.recommendProducts(userId, numberOfRecommendations)

ALS 算法仅接受三个特征 userId、RecipesId、Rating。除了我上面提到的(userId、RecipesId、Rating)之外,我无法包含更多功能(如类型、美食、性别等)。我想包含这些功能,然后训练模型并生成建议。

是否有任何其他算法可以包含上述参数并生成推荐。

任何帮助将不胜感激,谢谢。

【问题讨论】:

    标签: machine-learning pyspark apache-spark-mllib data-science


    【解决方案1】:

    是的,还有其他几种算法。对于您的情况,我建议您使用朴素贝叶斯算法。

    https://en.wikipedia.org/wiki/Naive_Bayes_classifier

    由于您正在开发 Web 应用程序,我想 JS 解决方案对您来说会很方便。

    (简单)https://www.npmjs.com/package/bayes

    或者例如:

    (更强大一点)https://www.npmjs.com/package/naivebayesclassifier

    【讨论】:

    • 非常感谢您的宝贵回复。如果我卡在某个地方,我会通过它并回复你。
    【解决方案2】:

    在机器学习中有称为推荐系统的算法。在这方面,我们有基于内容的推荐系统。它们主要用于根据客户评论推荐产品/电影。您可以使用客户评论应用相同的算法来推荐食谱。为了更好地理解这个算法,请参考这个链接:

    https://www.youtube.com/watch?v=Bv6VkpvEeRw&list=PL0Smm0jPm9WcCsYvbhPCdizqNKps69W4Z&index=97

    https://www.youtube.com/watch?v=2uxXPzm-7FY

    您可以使用强大的分类算法,例如

    ->SVM:如果你有更多的属性,效果会很好。

    ->逻辑回归:如果您有大量客户数据。

    【讨论】:

    • 非常感谢您的宝贵回复。如果我卡在某个地方,我会浏览这些视频并回复你。
    【解决方案3】:

    您正在寻找使用协同过滤等算法的推荐系统。我建议你看一下吴恩达教授关于协同过滤算法和低秩矩阵分解以及构建推荐系统的短视频。它们是斯坦福大学提供的 Coursera 机器学习课程的一部分。 课程链接: https://www.coursera.org/learn/machine-learning#%20

    您可以在第 9 周查看与推荐系统相关的内容。

    【讨论】:

    • 非常感谢您的宝贵回复。我一定会完成这门课程。
    猜你喜欢
    • 2014-06-01
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 2020-06-13
    • 2021-02-19
    • 2015-12-17
    • 2022-11-28
    • 2014-05-14
    相关资源
    最近更新 更多