【问题标题】:Predicting user ratings预测用户评分
【发布时间】:2019-02-10 23:39:55
【问题描述】:

我正在处理一个预测问题,需要一些帮助来解决它。我有一个包含两列 user_id 和 rating 的 CSV,其中用户对 rating 列中的某些内容进行评分。用户可以在 user_id 列中重复使用不同的唯一评级。例如:

user_id    rating
1          5
4          6
1          6
7          6
2          7
4          7

现在预测数据集有用户已经给出了与上面类似的先前评分:

user_id    rating
11         6
12         10
13         8
13         9
14         4
14         5

目标是预测这些特定用户下一次的评分。其次,假设我们添加一个没有评分历史的用户“15”,我们如何按顺序预测用户将提供的前两个评分。

我不确定如何仅使用 user_id 和评级来训练模型,这也恰好是目标列。任何帮助表示赞赏!

【问题讨论】:

    标签: python machine-learning statistics data-science


    【解决方案1】:

    首先,您必须提到用户给出的评分,例如电影评分系统中的类别,您可以为特定电影 A 提供用户评分为 1 的动作片这意味着用户讨厌动作,对于喜剧类型的电影 B,用户给出评分 9,这意味着用户是喜剧爱好者,因此下次出现类似类别时,您可以很容易地预测用户的评分,并且您可以通过包括许多电影类别来做到这一点,例如惊悚片、爱情片、戏剧等,甚至可以采用许多会计特征,例如电影长度、主角、导演、语言等,因为所有这些都非常广泛地控制着用户评分。

    但是,如果您不提供用户评分的依据,那么这将非常困难且毫无用处,例如我是用户,我给出的评分为 1、5、2、6、8、1、9, 3,4,10 你能预测我的下一个评分吗?答案是否定的,因为它就像一个介于 0-10 之间的随机生成器,但在电影中,我过去的评分清楚地表明我喜欢喜剧并且讨厌动作,然后当一部新的喜剧电影来了,你可以很容易地为我预测那部电影的评分。

    但是,如果您的问题只是这样,那么您可以使用各种统计方法,例如取平均值然后逼近最接近的整数,或者采用众数。

    但我可以建议为用户绘制评分并将其可视化,如果它遵循某种模式,例如用户评分首先增加然后达到峰值然后降低然后达到最小值然后增加并像这样跟随(相信我,由于您的限制,这将是非常不切实际的)并在此基础上预测评级。

    但所有这些中最好的方法是建立一个统计模型,例如对最后一个评分给予较高的权重,对倒数第二个评分给予较小的权重,然后甚至更小,然后取平均值,例如->

    predict_rating = w1*(last_rating) + w2*(second_last_rating) + w3*(third_last_rating) ....

    然后取平均值

    这将为您提供非常好的结果,确实是机器学习,您可以在其中找到最适合权重的特定算法是多元线性回归

    这肯定是给定约束的最佳模型

    【讨论】:

    • 感谢您的输入,这是一个模式问题,我必须使用从以前用户那里学到的趋势或模式来预测给定用户的下一个评分。
    • 我提到的线性回归模型可以很好地完成这项工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 2017-06-16
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-03
    相关资源
    最近更新 更多