数据挖掘之关联规则.ppt
- 格式:ppt
- 大小:4.09 MB
- 文档页数:18
【数据挖掘技术】关联规则(Apriori算法)⼀、关联规则中的频繁模式关联规则(Association Rule)是在数据库和数据挖掘领域中被发明并被⼴泛研究的⼀种重要模型,关联规则数据挖掘的主要⽬的是找出:【频繁模式】:Frequent Pattern,即多次重复出现的模式和并发关系(Cooccurrence Relationships),即同时出现的关系,频繁和并发关系也称为关联(Association).⼆、应⽤关联规则的经典案例:沃尔玛超市中“啤酒和尿不湿”的经典营销案例购物篮分析(Basket Analysis):通过分析顾客购物篮中商品之间的关联,可以挖掘顾客的购物习惯,从⽽帮助零售商可以更好地制定有针对性的营销策略。
以下列举⼀个最简单也最经典的关联规则的例⼦:婴⼉尿不湿—>啤酒[⽀持度=10%,置信度=70%]这个规则表明,在所有顾客中,有10%的顾客同时购买了婴⼉尿不湿和啤酒,⽽在所有购买了婴⼉尿不湿的顾客中,占70%的⼈同时还购买了啤酒。
发现这个关联规则后,超市零售商决定把婴⼉尿不湿和啤酒摆在⼀起进⾏销售,结果明显提⾼了销售额,这就是发⽣在沃尔玛超市中“啤酒和尿不湿”的经典营销案例。
三、⽀持度(Support)和置信度(Confidence)事实上,⽀持度和置信度是衡量关联规则强度的两个重要指标,他们分别反映着所发现规则有⽤性和确定性。
【⽀持度】规则X->Y的⽀持度:事物全集中包含X U Y的事物百分⽐。
Support(A B)= P(A B)⽀持度主要衡量规则的有⽤性,如果⽀持度太⼩,则说明相应规则只是偶发事件,在商业实践中,偶发事件很可能没有商业价值。
【置信度】规则X->Y的置信度:既包括X⼜包括Y的事物占所有包含了X的事物数量的百分⽐。
Confidence(A B)= P(B|A)置信度主要衡量规则的确定性(可预测性),如果置信度太低,那么从X就很难可靠的推断出Y来,置信度太低的规则在实践应⽤中也没有太⼤⽤途。
数据挖掘常用的方法(分类回归聚类关联规则)数据挖掘是一种通过分析大量数据来发现模式、关联和趋势的过程。
常用的数据挖掘方法包括分类、回归、聚类和关联规则,下面将对它们进行详细介绍。
回归(Regression)是一种预测方法,它用于建立输入(自变量)和输出(因变量)之间的关系模型。
回归分析通过分析已知数据集的特征和输出值,确定数据的模式,并使用这些模式进行未知数据的预测。
回归分析中常用的算法包括线性回归、多项式回归和逻辑回归等。
回归方法广泛应用于价格预测、销售预测、股票市场分析等领域。
聚类(Clustering)是将数据按照相似性划分为不同的群组的方法。
聚类的目标是找到数据中相似的样本,并将它们归入同一类别。
聚类算法根据不同的相似性度量标准,如欧氏距离、曼哈顿距离和余弦相似度等,来计算样本之间的距离。
常见的聚类算法包括K-means、层次聚类和DBSCAN等。
聚类方法在市场分析、社交网络分析和图像处理等领域有着广泛应用。
关联规则(Association Rules)是一种描述数据之间关系的方法。
关联规则分析用于发现数据集中不同项之间的关联关系。
关联规则通过计算不同项之间的支持度和置信度来确定关联程度。
支持度指一个项集在数据集中出现的频率,而置信度指一些项集出现时,另一个项集也出现的概率。
常见的关联规则算法包括Apriori和FP-Growth等。
关联规则分析在市场篮子分析、交叉销售和网站推荐等领域中非常有用。
除了上述的四种常用的数据挖掘方法外,还有一些其他重要的方法,如异常检测、特征工程和文本挖掘等。
数据挖掘方法的选择取决于数据的特点和分析的目标。
在实际应用中,可以根据实际问题来选择合适的方法,并通过算法优化和模型评估来提高模型的准确性和可解释性。
总之,分类、回归、聚类和关联规则是数据挖掘中常用的方法。
它们能够从大量的数据中挖掘出有用的信息和模式,帮助人们做出准确的预测和决策。
随着数据量的不断增加和数据挖掘技术的不断发展,这些方法将在未来的数据分析中发挥更加重要的作用。
数据挖掘——关联算法⼀、概念关联(Association)关联就是把两个或两个以上在意义上有密切联系的项组合在⼀起。
关联规则(AR,Assocaition Rules)⽤于从⼤量数据中挖掘出有价值的数据项之间的相关关系。
(购物篮分析)协同过滤(CF,Collaborative Filtering)协同过滤常常被⽤于分辨某位特定顾客可能感兴趣的东西,这些结论来⾃于对其他相似顾客对哪些产品感兴趣的分析。
(推荐系统)⼆、关联规则1、相关数据指标两个不相交的⾮空集合X、Y,如果X -> Y,就说X -> Y是⼀条关联规则。
强度:⽀持度(Support):support({X -> Y}) = 集合X与集合Y中的项在⼀条记录中同时出现的次数 / 数据记录的个数 ⾃信度(Confidence):confidence({X -> Y})集合X与集合Y中的项在⼀条记录中同时出现的次数 / 集合X出现的次数效度:提升度(Lift):度量规则是否可⽤的指标,描述的是相对于不⽤规则,使⽤规则可以提⾼多少,提升度⼤于1,规则有效 lift({X -> Y}) = confidence({X -> Y}) / support({X -> Y})2、计算步骤扫描数据集,统计⼀级候选集出现的次数清除不满⾜条件的候选项集,得到⼀级项集从⼀级项集中国,组合⼆级候选项集,统计数据集中它们出现的次数清除不满⾜条件的候选项集,得到⼆级项集从⼆级项集中,组合三级候选项集,统计数据集中他们出现的次数……将得到的项集作为结果返回⼤致过程如下:3、使⽤python实现关联算法(apriori算法)!apriori 包不⽀持DataFrame的数据格式,需要将数据转化为array数组#导⼊如下格式的数据#变换数据格式,然后通过apriori⽅法进⾏处理transform = data.groupby(by='交易ID').apply(lambda x: list(x.购买商品)).valuesresult = list(apriori(transform))输出result并观察,发现如下规律#该数据格式包含各种项集和所对应的⽀持度、⾃信度、提升度'''RelationRecord(items=frozenset({'可乐'}),support=0.4,ordered_statistics=[OrderedStatistic(items_base=frozenset(),items_add=frozenset({'可乐'}),confidence=0.4,lift=1.0)])'''#items = items_base + items_add#遍历result,得到每个项集(X 与 Y ,并得到相对应的⽀持度、⾃信度和提升度supports = []confidences = []lifts = []bases = []adds = []for i in result:supports.append(i.support)confidences.append(i.ordered_statistics[0].confidence)lifts.append(i.ordered_statistics[0].lift)bases.append(list(i.ordered_statistics[0].items_base))adds.append(list(i.ordered_statistics[0].items_add))#将结果转化为容易处理的数据框get_result = pd.DataFrame({'base': bases,'add': adds,'support': supports,'confidence': confidences,'lift': lifts})#得到如下的数据框,其中有不同项集及其对应结果,可通过关联规则得到符合的关联项三、协同过滤1、相关数据指标协同过滤简单来说就是利⽤某兴趣相投、拥有共同经验的群体的喜好来推荐⽤户感兴趣的信息。