我有餐馆发票的数据集,其中包含每个客户订购的产品。
我已经处理过数据了,我在csv文件中有以下矩阵:
InvoiceID, Product 1, product 2, product 3, product 4, product 5.....
123, 0, 1, 0, 1, 0, .....
124, 0, 1, 1, 1, 0, .....
...
对于每张发票,我在csv中有一个包含0和1的条目,如果客户订购了由列表示的产品(0未订购,1已订购)。
如何使用sklearn处理此数据,以便我可以对发票进行聚类并获取质心,以便查看每个群集中心的产品?
谢谢!
编辑: 我有957种产品,其中很多产品从未订购过,所以我可以减少基质(不知道最好的方法)
答案 0 :(得分:1)
您确定群集是您需要的吗?
听起来好像市场购物篮分析(和频繁的项目集挖掘)是可行的方法。
大多数群集算法会将每个客户分配给完全一种类型,而FIM也会检测子集和重叠模式。
答案 1 :(得分:0)
您可以在scikit-learn中使用任何聚类算法。注意不要将ID列传递给它。您可以使用numpy或pandas屏蔽始终为零的列。 可以在user guide
中找到对scikit-learn中的聚类方法的一个很好的介绍