关联规则
1个回答
展开全部
关联规则是形如X→Y的蕴涵式,其中, X和Y分别称为关联规则的先导(antecedent或left-hand-side, LHS)和后继(consequent或right-hand-side, RHS) 。其中,关联规则XY,存在支持度和信任度。
关联规则的经典案例是购物篮分析(basket relationships)。
婴儿尿不湿 → 啤酒
这是发生在美国沃尔玛连锁店超市的真实案例,并一直为商家所津津乐道。沃尔玛拥有世界上最大的数据仓库系统,为了能够准确了解顾客在其门店的购买习惯,沃尔玛对其顾客的购物行为进行购物篮分析,想知道顾客经常一起购买的商品有哪些。沃尔玛数据仓库里集中了其各门店的详细原始交易数据。在这些原始交易数据的基础上,沃尔玛利用数据挖掘方法对这些数据进行分析和挖掘。一个意外的发现是:"跟尿布一起购买最多的商品竟是啤酒!经过大量实际调查和分析,揭示了一个隐藏在"尿布与啤酒"背后的美国人的一种行为模式:在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有30%~40%的人同时也为自己买一些啤酒。产生这一现象的原因是:美国的太太们常叮嘱她们的丈夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。
关联规则数据挖掘主要目的是为了找出数据集中的频繁模式(frequent pattern)和并发关系(cooccurrence relationships)。但是事件A和事件B一起发生了一定次数,并不一定代表着其中有很强的关联性,也有可能是偶发性的事件。是商业事件中,偶发性的事件是不具有价值的。要评估A和B是偶发性事件还是关联性事件,则需要更多的指标来衡量。
支持度主要衡量规则的有用性
X→Y的支持度指: 包含XUY的事件数 / 事件全集数 *100%
置信度衡量规则的确定性(可预测性)
X→Y的置信度指:X和Y共同发生的事件数量/包含X的事件数量* 100%
关于支持度指标的使用,我一直存在一些疑问的地方。
首先,从定义来讲,支持度指 X和Y同时发生的事件占全部事件集的比例。例如:X→Y的支持度,按照定义应该是指商品X和Y一起下单的订单量,除以当天店铺的全量订单数。但是我也有看到csdn上一些文章使用支持度的时候是用XY的交集/ XY的并集,也就是X和Y同时发生的概率,除以X或Y发生的概率。包括我所举的的案例中的支持度“连带人数/关联支付买家数”也是属于后者。
在计算关联规则常用的Apriori算法中(对算法感兴趣的可以搜索一下),支付度是用来筛选频繁项级的,也就是说,“频繁”出现的事件,我们认为其关联规则是有效的。在Apriori算法步骤中,我们先试根据“频繁项级的所有子集也是频繁项级”的原则,将所有可能的事件集合中,发生频率小于支持度的事件组合过滤掉。这样可以加快计算过程,节约计算资源。如果一天中,有且仅有一个用户购买了X和Y商品,同时没有其他任何客户购买X和Y商品。在用上述第二种用法时,支持度=100%,但是显然,这个案例完全不具有普适性,这个关联规则属于偶发性事件的概率很高。
我们也可以换一个角度理解第二种定义,X和Y同时发生的概率 / X或Y发生的概率,得到的结果越大,可以看出,在X和Y的关联性越高。
关联规则的经典案例是购物篮分析(basket relationships)。
婴儿尿不湿 → 啤酒
这是发生在美国沃尔玛连锁店超市的真实案例,并一直为商家所津津乐道。沃尔玛拥有世界上最大的数据仓库系统,为了能够准确了解顾客在其门店的购买习惯,沃尔玛对其顾客的购物行为进行购物篮分析,想知道顾客经常一起购买的商品有哪些。沃尔玛数据仓库里集中了其各门店的详细原始交易数据。在这些原始交易数据的基础上,沃尔玛利用数据挖掘方法对这些数据进行分析和挖掘。一个意外的发现是:"跟尿布一起购买最多的商品竟是啤酒!经过大量实际调查和分析,揭示了一个隐藏在"尿布与啤酒"背后的美国人的一种行为模式:在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有30%~40%的人同时也为自己买一些啤酒。产生这一现象的原因是:美国的太太们常叮嘱她们的丈夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。
关联规则数据挖掘主要目的是为了找出数据集中的频繁模式(frequent pattern)和并发关系(cooccurrence relationships)。但是事件A和事件B一起发生了一定次数,并不一定代表着其中有很强的关联性,也有可能是偶发性的事件。是商业事件中,偶发性的事件是不具有价值的。要评估A和B是偶发性事件还是关联性事件,则需要更多的指标来衡量。
支持度主要衡量规则的有用性
X→Y的支持度指: 包含XUY的事件数 / 事件全集数 *100%
置信度衡量规则的确定性(可预测性)
X→Y的置信度指:X和Y共同发生的事件数量/包含X的事件数量* 100%
关于支持度指标的使用,我一直存在一些疑问的地方。
首先,从定义来讲,支持度指 X和Y同时发生的事件占全部事件集的比例。例如:X→Y的支持度,按照定义应该是指商品X和Y一起下单的订单量,除以当天店铺的全量订单数。但是我也有看到csdn上一些文章使用支持度的时候是用XY的交集/ XY的并集,也就是X和Y同时发生的概率,除以X或Y发生的概率。包括我所举的的案例中的支持度“连带人数/关联支付买家数”也是属于后者。
在计算关联规则常用的Apriori算法中(对算法感兴趣的可以搜索一下),支付度是用来筛选频繁项级的,也就是说,“频繁”出现的事件,我们认为其关联规则是有效的。在Apriori算法步骤中,我们先试根据“频繁项级的所有子集也是频繁项级”的原则,将所有可能的事件集合中,发生频率小于支持度的事件组合过滤掉。这样可以加快计算过程,节约计算资源。如果一天中,有且仅有一个用户购买了X和Y商品,同时没有其他任何客户购买X和Y商品。在用上述第二种用法时,支持度=100%,但是显然,这个案例完全不具有普适性,这个关联规则属于偶发性事件的概率很高。
我们也可以换一个角度理解第二种定义,X和Y同时发生的概率 / X或Y发生的概率,得到的结果越大,可以看出,在X和Y的关联性越高。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
云创
2023-07-25 广告
2023-07-25 广告
代码静态分析服务可以帮助开发人员在代码编写过程中发现问题和错误,提高代码质量和安全性。以下是在某些方面可能会提供折扣的例子:1. 高频使用的服务:如果一个组织或个人频繁使用代码静态分析服务,那么他们可能会获得与使用频率相关的折扣。例如,每次...
点击进入详情页
本回答由云创提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询