根据购买的商品找到相似的用户后,在python中交叉销售

时间:2019-10-17 05:56:29

标签: python machine-learning collaborative-filtering

我具有以下格式的数据:

CustomerID P1 P2 P3 P4 P5 P6 P7
C1         0  1  1  0  1  0  0
C2         0  0  1  0  1  0  0
C3         0  0  1  0  0  1  0
C4         0  0  0  0  1  0  0
C5         0  0  0  0  1  1  0
C6         0  1  0  0  1  0  1

0和1是客户是否购买该产品的标记

我想根据他们的购买量找到相似的用户,最后向他们推荐下一个产品。并验证结果。

如何在python中执行此操作?

1 个答案:

答案 0 :(得分:0)

我进行了很多研究,并提出了以下算法来查找客户/用户之间的相似性。

  1. Jaccard索引编制(不适用于大数据集)

  2. MinHash(比Jaccard索引效率更高,但对于大型数据集仍然需要时间)

  3. 聚类机器学习算法(仅适用于可以聚类的数据 呈圆形。绘制它们时,您的数据不能构成圆形簇)

  4. 用户协作过滤是我发现的最有效的方法。我们可以使用客户和产品之间的余弦相似度,然后使用KNN算法进行预测。

  5. NCF-神经网络协作过滤。