前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【案例】电商数据挖掘:牛奶搭配销售关联算法

【案例】电商数据挖掘:牛奶搭配销售关联算法

作者头像
机器学习AI算法工程
发布2018-03-09 16:09:30
1.1K0
发布2018-03-09 16:09:30
举报

在数据挖掘过程中,由于数据存在分散性和偶然性,因而在底层的数据关联上很难准确挖掘出强关联规则,进而也很难为我们决策提供参考。通常的解决的方案通常是引入概念层次,在较高的层次上,我们就可以通过“支持度和置信度”的框架来挖掘多层关联规则。 从一家公司的销售记录中我们找到以下8条消费记录,并以3作为最小支持度,也就是说出现频率在3次以下的记录是被我们所忽略的。

所有满足最小支持度3的1项频集如下,其中的支持度是指该产品在整个数据集中出现的次数。比如牛奶出现了5次,而冰淇淋出现了3次。

递归执行,所有满足最小支持度3的2项频集如下,这其中出现最多的频集是{牛奶,面包}和{面包,果酱},各自出现了4次。

再次递归执行,所有满足最小支持度3的3项频集只剩下一条:

那么{牛奶,果酱,面包}就是我们要的满足最小支持度3的3项频集,也就是说牛奶、果酱和面包这三个商品是最经常被一起购买的。 概念层次的数据挖掘 在研究挖掘关联规则的过程中,许多学者发现在实际应用中,对于很多应用来说,由于数据分布的分散性,数据比较少,所以很难在数据最细节的层次上发现一些强关联规则。要想在原始的概念层次上发现强的(strong)和有意义的(interesting)关联规则是比较困难的,因为好多项集往往没有足够的支持数。 当我们引入概念层次后,就可以在较高的层次上进行挖掘。虽然较高层次上得出的规则可能是更普通的信息,但是对于一个用户来说是普通的信息,对于另一个用户却未必如此。所以数据挖掘应该提供这样一种在多个层次上进行挖掘的功能。

概念层次在要挖掘的数据库中经常是存在的,比如在一个超市中会存在这样的概念层次:蒙牛牌牛奶是牛奶,伊利牌牛奶是牛奶,王子牌饼干是饼干,康师傅牌饼干是饼干等。 如果我们只是在数据基本层发掘关系,{蒙牛牌牛奶,王子牌饼干},{蒙牛牌牛奶,康师傅牌饼干},{伊利牌牛奶,王子牌饼干},{伊利牌牛奶,康师傅牌饼干}都不符合最小支持度。不过如果我们上升一个层级,会发现{牛奶,饼干} 的关联规则是有一定支持度的。 我们称高层次的项是低层次项的父亲层次(parent),这种概念层次关系通常用一个DAG(directed acyclic graph,有向无环图)来表示。所谓有向无环图是指,任意一条边有方向,且不存在环路的图。这样我们就可以在较高的概念层次上发现关联规则。 支持度的设置策略 根据规则中涉及的层次和多层关联的规则,我们可以把关联规则分为同层关联规则和层间关联规则。多层关联规则的挖掘基本上可以沿用“支持度—置信度”的框架。不过,在支持度设置的问题上有一些要考虑的东西。 同层关联规则可以采用两种支持度策略: 统一的最小支持度。对于不同的层次,都使用同一个最小支持度。这样对于用户和算法实现来说都比较容易,但是弊端也是显而易见的。 递减的最小支持度。每个层次都有不同的最小支持度,较低层次的最小支持度相对较小。同时还可以利用上层挖掘得到的信息进行一些过滤的工作。层间关联规则考虑最小支持度的时候,应该根据较低层次的最小支持度来定。 以上我们讨论的基本上都是同一个字段的值之间的关系,比如用户购买的物品。换句话说就是在单维或者叫维内的关联规则,这些规则很多都是在交易数据库中挖掘的。 但是对于实际应用来说,多维的关联规则可能是更加有价值的。 同时,在挖掘维间关联规则和混合维关联规则的时候,还要考虑不同的字段种类,是分类型数据还是数值型数据等等。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2014-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据挖掘DT数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档