牛奶搭配销售关联算法

简介:        在数据挖掘过程中,由于数据存在分散性和偶然性,因而在底层的数据关联上很难准确挖掘出强关联规则,进而也很难为我们决策提供参考。通常的解决的方案通常是引入概念层次,在较高的层次上,我们就可以通过“支持度和置信度”的框架来挖掘多层关联规则。

       在数据挖掘过程中,由于数据存在分散性和偶然性,因而在底层的数据关联上很难准确挖掘出强关联规则,进而也很难为我们决策提供参考。通常的解决的方案通常是引入概念层次,在较高的层次上,我们就可以通过“支持度和置信度”的框架来挖掘多层关联规则。

从一家公司的销售记录中我们找到以下8条消费记录,并以3作为最小支持度,也就是说出现频率在3次以下的记录是被我们所忽略的。

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

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

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

那么{牛奶,果酱,面包}就是我们要的满足最小支持度3的3项频集,也就是说牛奶、果酱和面包这三个商品是最经常被一起购买的。


概念层次的数据挖掘

在研究挖掘关联规则的过程中,许多学者发现在实际应用中,对于很多应用来说,由于数据分布的分散性,数据比较少,所以很难在数据最细节的层次上发现一些强关联规则。要想在原始的概念层次上发现强的(strong)和有意义的(interesting)关联规则是比较困难的,因为好多项集往往没有足够的支持数。

当我们引入概念层次后,就可以在较高的层次上进行挖掘。虽然较高层次上得出的规则可能是更普通的信息,但是对于一个用户来说是普通的信息,对于另一个用户却未必如此。所以数据挖掘应该提供这样一种在多个层次上进行挖掘的功能。



概念层次在要挖掘的数据库中经常是存在的,比如在一个超市中会存在这样的概念层次:蒙牛牌牛奶是牛奶,伊利牌牛奶是牛奶,王子牌饼干是饼干,康师傅牌饼干是饼干等。

如果我们只是在数据基本层发掘关系,{蒙牛牌牛奶,王子牌饼干},{蒙牛牌牛奶,康师傅牌饼干},{伊利牌牛奶,王子牌饼干},{伊利牌牛奶,康师傅牌饼干}都不符合最小支持度。不过如果我们上升一个层级,会发现{牛奶,饼干} 的关联规则是有一定支持度的。

我们称高层次的项是低层次项的父亲层次(parent),这种概念层次关系通常用一个DAG(directed acyclic graph,有向无环图)来表示。所谓有向无环图是指,任意一条边有方向,且不存在环路的图。这样我们就可以在较高的概念层次上发现关联规则。


支持度的设置策略

根据规则中涉及的层次和多层关联的规则,我们可以把关联规则分为同层关联规则和层间关联规则。多层关联规则的挖掘基本上可以沿用“支持度—置信度”的框架。不过,在支持度设置的问题上有一些要考虑的东西。

同层关联规则可以采用两种支持度策略:

统一的最小支持度。对于不同的层次,都使用同一个最小支持度。这样对于用户和算法实现来说都比较容易,但是弊端也是显而易见的。

递减的最小支持度。每个层次都有不同的最小支持度,较低层次的最小支持度相对较小。同时还可以利用上层挖掘得到的信息进行一些过滤的工作。层间关联规则考虑最小支持度的时候,应该根据较低层次的最小支持度来定。

以上我们讨论的基本上都是同一个字段的值之间的关系,比如用户购买的物品。换句话说就是在单维或者叫维内的关联规则,这些规则很多都是在交易数据库中挖掘的。

但是对于实际应用来说,多维的关联规则可能是更加有价值的。

同时,在挖掘维间关联规则和混合维关联规则的时候,还要考虑不同的字段种类,是分类型数据还是数值型数据等等。


原文发布时间为:2013-09-18


本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关文章
|
机器学习/深度学习 算法
m基于GA遗传优化的GRNN广义回归神经网络销售数据预测算法matlab仿真
m基于GA遗传优化的GRNN广义回归神经网络销售数据预测算法matlab仿真
332 0
m基于GA遗传优化的GRNN广义回归神经网络销售数据预测算法matlab仿真
|
22天前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
129 0
|
1月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
112 2
|
2月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
176 3
|
2月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
100 6
|
22天前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
116 8
|
22天前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
|
1月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
1月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
2月前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
199 14

热门文章

最新文章