将相似客户与相似高评价产品相匹配的推荐系统?

数据挖掘 Python 聚类 推荐系统 排行 矩阵
2022-03-10 17:42:18

我有一个包含 1000 名客户的数据集,他们购买了 20 部不同的手机,并给它们打了 1-5 分。我有这些客户的几个人口统计属性(性别、年龄)。我的网站提供 100 种不同的设备,每种设备都有多个属性(屏幕尺寸、外壳材料、操作系统、价格)。

对于新客户,我想推荐他们可能喜欢的 5 种设备的排名列表。这可能基于 1) 新客户与 1,000 名给予评级的客户具有相似的人口统计资料,以及 2) 被高度评价的设备或与被类似客户高度评价的设备具有相似属性的设备。

我发现的所有示例都展示了如何向相似客户推荐具有相似概况的客户高度评价的产品。我想在不限制对已评级产品的推荐的情况下做到这一点。相反,我想建立一个系统,它可能会推荐我有评级的手机,以及尚未评级的手机(例如:手机是新的,我需要清理库存,或者我希望他们尝试一些他们想要的东西可能会享受更多)基于它们与类似客户的其他高评价产品的相似性。

为这种情况构建推荐系统的好方法是什么?我已经阅读了有关基于内容、协同过滤和混合推荐器的信息,但我找不到这种场景的好例子。我在这里描述的系统类型有名称吗?

1个回答

你想做三件事:

  1. 根据他们的个人资料和他们对某些设备的偏好对相似的客户进行聚类

  2. 根据评级和设备属性对类似设备进行聚类

  3. 基于聚类 1 和 2 创建推荐系统

这是我的做法:

  1. 根据客户的人口统计数据,通过常规方式(PCA、K-Means 等)对客户进行聚类

  2. 为每个集群开发一个模型,该模型根据设备属性(例如,通过集成学习、关联规则等)预测设备的“评级”。然后使用该模型来预测每个集群的新设备的评级

  3. 基于集群成员和基于评级的相关设备集实现一个简单的推荐器,这是因为步骤 2 现在每个设备都有一个排名。如果您想进一步“操纵客户”,您可以添加简单的规则来添加低于相关评级阈值的设备,前提是它们满足某些标准(价格、“正在销售”等)。

瞧!