首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何建立有监督的变数据推荐系统模型

如何建立有监督的变数据推荐系统模型
EN

Data Science用户
提问于 2021-01-09 18:12:35
回答 1查看 56关注 0票数 1

假设有2000部电影,一家公司想向每位游客推荐一些电影(例如,最多5部电影)。其目的是学习如何预测如果推荐一组特定的电影,将选择哪部电影。

代码语言:javascript
复制
   option-1  option-2  option-3  option-4  option-5  Selected-Movie
1. movie1    movie3    movie4                        movie4 
2. movie3    movie4    movie100  movie1000 movie1001 movie1001
3. movie4    movie5    movie34                       movie34

基于这个数据集,我想知道当示例1被推荐给一个客户时,他会访问movie4。因为功能的数量可能很高(这里有2000部电影),所以我认为使用热编码并不是一个好的选择。认为最多可以推荐5部电影,我认为考虑大小为5的向量可能是个不错的选择,如果推荐的电影数量小于5,空格将被替换为0。然而,在这种情况下,电影的扰动将是很重要的。例如,(1,2,3,4,5)将与(2,1,3,4,5)不同,我想考虑这两种情况相同。换句话说,全部5个!扰动应该是相同的,它们之间没有区别。此外,有了这样的数据表示,我认为不可能使用决策树,而有些算法,如Catboost是可行的。

我最喜欢的算法是可以生成规则的算法,比如决策树。如果您对数据表示和功能应该如何考虑有任何建议,我将不胜感激。

EN

回答 1

Data Science用户

发布于 2021-01-10 01:20:36

在这个任务中,您缺少了一些东西:您没有任何特性来表示特定的访问者。

这意味着,你的模型所能预测的最好的电影是最常被任何访问者选择的电影。因此,模型可以从这样的数据集中学习到的唯一东西是将每个可能的序列与给定的序列中最频繁选择的电影关联起来。当然,对于没有出现在训练数据中的序列,它需要做一些概括,但是这是这个任务中最大的ML。理论上,只需计算联合频率序列+选择电影就可以完成任务,从而计算出给定序列的条件概率。

编辑

表示集合的标准方法是一种热编码。假设数据中有足够的实例,即使有2000种特性,它也是可行的。在这个基本选项中,您当然可以通过删除从未/很少建议或从不/很少选择的电影来减少功能的数量。这不太可能达到性能,因为如果没有或很少有电影被提议/选择的情况,那么模型就不能使用这些信息(或者它会导致过度匹配)。

我可以想出几种替代的方法:

  • 将聚类应用于电影序列作为OHE (没有目标变量),然后为每个集群训练一个模型:这样,每个模型需要处理的特性就更少了。
  • 只需根据电影被选择的频率对所有电影进行排序。在没有用户偏好的情况下,可以假定电影上有一个总订单:
  • 最喜欢的电影总是被选中,不管其他电影建议的是什么。
  • 第二大首选电影总是被选中,除非第一部也被推荐。
  • ..。n^{th}顶部总是被选中的,除非在顶部也有一个更高的选项。

要预测所选影片,只需选择3-5中排名最高的电影。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/87718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档