最常与什么产品一起购买

数据挖掘 熊猫
2022-03-13 08:20:28

我想了解人们在购买“自行车头盔”时还购买了什么。我的数据框中只有 77 种不同的产品。

我可以使用 for 循环解决这个问题,并创建一个计数器。因此,无论何时ProductName == 'Bike Helmet,查看OrderID所有这些产品名称的计数器并将计数器加 1。然后找到下一个购买自行车头盔的实例。然而,这种方法是缓慢的。

  OrderID           ProductName  PricePerOrder  ProfitPerOrder  Quantity  \
239    10337           Bike Helmet     805.200000      178.080000        24   
238    10337           Mehmet-Skor       5.200000        0.626667        28   
237    10337          Mehmet-Tröja       7.990000        1.540000        20   
236    10337          Oyaki Kimono      10.025000        2.558333        25   
240    10337           DSW Sandals       3.600000        0.628000        40   
40     10262          Runner Shoes      14.362500        1.946250        15   
42     10262       O-Man Underwear       0.535680       -0.030720        12   
41     10262         Slip-on Shoes       4.606667        0.050667         2   
336    10374           Onesy Dress      38.677500       10.800000        15   
337    10374  Rossi Bermuda Shorts      13.665000        2.370000        30  
1个回答

两种方法,均基于离散数学。第一个是频繁项集挖掘关联规则挖掘的集合论方法。例如A-priori算法在这里工作。

下一种方法是根据订单创建图并对其进行图挖掘。A-priori 可能是一种更好的方法,因为在这种情况下,您可能需要处理使生活变得有点复杂的超图。

我建议您首先从数据框中提取不同订单集。由于您的问题并不普遍,并且您已经知道只有一种产品的关联很重要,因此您可以大量修剪数据。然后简单地通过计算它们的出现次数并除以总数来对与自行车头盔一起购买的其他产品进行排名(它为您提供每种产品与自行车头盔一起购买的概率估计)。