预测用户评分

我正在处理一个预测问题,需要一些帮助来确定如何进行。我有一个CSV文件,包含两个列,user_id和ratings,其中用户在ratings列中对某物进行评分。user_id列中用户可以重复出现,并有不同的唯一评分。例如:

user_id    rating1          54          61          67          62          74          7

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

user_id    rating11         612         1013         813         914         414         5

目标是预测这些特定用户下次会给出什么评分。其次,假设我们添加了一个没有评分历史的用户’15’,我们如何预测这个用户将提供的前两个评分,按顺序进行?

我不知道如何仅用user_id和ratings(这也是目标列)来训练模型。任何帮助都将不胜感激!


回答:

首先且最重要的一点是你必须提到用户在评分什么,即类别。例如,在电影评分系统中,你可以提供一个特定的电影A,它是动作片,用户给出的评分为1,这意味着用户讨厌动作片;而对于电影B,它是喜剧片,用户给出的评分为9,这意味着用户是喜剧爱好者。因此,当下次出现类似类别时,你可以很容易地预测用户的评分。你可以通过包括许多电影类别,如惊悚片、浪漫片、戏剧片等,并可以考虑许多其他因素,如电影长度、主演、导演、语言等,因为所有这些因素都广泛地影响着用户的评分。

但是,如果你不提供用户评分的基础,那么预测将非常困难且毫无意义。例如,我是一个用户,我给出的评分是1,5,2,6,8,1,9,3,4,10,你能预测我的下一个评分吗?答案是不能,因为这就像0到10之间的随机生成器。但在电影的情况下,我的过去评分清楚地显示我喜欢喜剧而讨厌动作,那么当一部新的喜剧电影出现时,你可以轻松地为我预测那部电影的评分。

但如果你的问题仅限于此,那么你可以使用各种统计方法,比如取平均值然后四舍五入到最接近的整数,或者取众数。

我可以建议的是,绘制用户的评分并进行可视化,如果评分遵循某种模式,例如对于一个用户,评分首先增加,然后达到峰值,然后下降,然后达到最低点,然后再次增加,如此反复(相信我,由于你的限制,这将非常不切实际),然后在此基础上预测评分。

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

预测评分 = w1*(最后一个评分) + w2*(倒数第二个评分) + w3*(倒数第三个评分) ….

然后取平均值

这将为你提供非常好的结果,实际上这属于机器学习,而这个特定算法寻找最适合的权重是多元线性回归

在给定的限制条件下,这无疑是最佳模型

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注