数据挖掘导论第6章关联分析基本概念和算法
关联分析(Association Analysis)是数据挖掘中的一种技术,用于发现隐藏在大型数据集中的令人感兴趣的联系。关联分析可以应用于生物信息学、医疗诊断、网页挖掘、科学数据分析等领域。
关联分析的基本概念:
1. 频繁项集(Frequent Itemset):满足最小支持度阈值(minsup)的所有项集。项集是包含0个或多个项的集合。例如:{Milk, Bread, Diaper}是包含三个项的项集。
2. 支持度计数(Support count):包含特定项集的事务个数。例如:σ({Milk, Bread, Diaper}) = 2。
3. 支持度(Support):包含项集的事务数与总事务数的比值。例如:s({Milk, Bread, Diaper}) = 2/5。
4. 关联规则(Association Rule):形如X→Y的蕴含表达式,其中X和Y是不相交的项集。例如:{Milk, Diaper}→{Beer}。
5. 关联规则的强度:支持度(Support)和置信度(Confidence)确定关联规则的强度。
关联规则挖掘问题:
关联规则挖掘问题是指给定事务的集合T,发现支持度大于等于minsup并且置信度大于等于minconf的所有规则。
频繁项集生成(Frequent Itemset Generation):
频繁项集生成是关联规则挖掘的第一步。其目标是发现满足最小支持度阈值的所有项集。常见的频繁项集生成算法有:
1. Brute-force方法:计算每个可能规则的支持度和置信度。
2. 格结构(Lattice Structure)方法:将项集组织成格结构,从而提高频繁项集生成的效率。
规则的产生(Rule Generation):
规则的产生是关联规则挖掘的第二步。其目标是从上一步发现的频繁项集中提取所有高置信度的规则。规则的产生可以使用Apriori算法、Eclat算法等。
Apriori算法:
Apriori算法是一种常用的关联规则挖掘算法。该算法首先生成所有可能的项集,然后根据最小支持度阈值和置信度阈值筛选出满足条件的关联规则。
Eclat算法:
Eclat算法是一种基于格结构的关联规则挖掘算法。该算法首先生成格结构,然后根据最小支持度阈值和置信度阈值筛选出满足条件的关联规则。
关联分析是数据挖掘中的一种重要技术,用于发现隐藏在大型数据集中的令人感兴趣的联系。关联规则挖掘问题是指给定事务的集合,发现支持度大于等于minsup并且置信度大于等于minconf的所有规则。频繁项集生成和规则的产生是关联规则挖掘的两个主要步骤。