机器学习算法排名

数据挖掘 机器学习 推荐系统 xgboost 排行
2021-09-24 15:15:39

我正在研究一个排名问题,向用户推荐 m 个项目中的 k 个。评估指标是K 处的平均精度

R 和 Python 都有xgboost可用于成对比较,并可适用于排序问题。

是否有其他算法或方法可以应用于排序问题?

4个回答

我认为你应该从“学习排名”开始,解决排名问题有三种解决方案。

  1. 逐点,学习列表中每个项目与特定用户之间的相关性分数是您的目标。这可以像推荐那样完成。
  2. 成对地,学习列表中项目之间的“关系”,分别是节拍损失甚至是你的目标。
  3. 列表方面,了解项目的特定排名列表的“有效性”是您的目标。

你的问题听起来像是经典的前 N ​​个人推荐给我。文献中有很多可能性,例如:

  • 基于用户的协同过滤
  • 基于内容的协同过滤
  • 矩阵分解

您需要阅读文献并找出哪个更适合您。

您是否尝试向用户推荐排名项目列表?

看看协同过滤,这是推荐系统最常用的技术之一。

对于 python,Pyspark是你可以看看的东西。此链接包含一些如何实现它的示例。

我认为您正在寻找Item Rank这是一个非常简单的算法,用于排名和满足您的需求。