我正在处理一个预测问题,并且需要一些有关如何解决该问题的帮助。我有一个包含两列的CSV文件,分别是user_id和rating,其中用户是在rating列中对某项进行评分的。用户可以在user_id列中重复使用不同的唯一评分。例如:
const routesPromise = axios.get(data).then(({ data }) => data)
// snip
generate: {
routes () {
return routesPromise.then(data => {
// ...
})
},
sitemap: {
routes () {
return routesPromise.then(data => {
// ...
})
}
},
// etc
现在,预测数据集的用户已经给予了与上述相似的先前评分:
.then()
目标是预测这些特定用户下次的评价。其次,假设我们添加了没有评分历史记录的用户“ 15”,那么如何依次预测用户将提供的前两个评分。
我不确定如何仅使用user_id和rating来训练模型,这也恰好是目标列。任何帮助表示赞赏!
答案 0 :(得分: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)....
然后取平均值
这将为您带来非常好的结果,并且确实是机器学习,而您发现最合适的权重的特定算法是多元线性回归
这肯定是给定约束的最佳模型