频繁项集挖掘及其在实际中的应用
- 格式:pdf
- 大小:284.43 KB
- 文档页数:3
频繁项集挖掘及其在实际中的应用摘要:超市商品组合销售看似毫无规律,实际上不同商品组合销售的频繁度差异很大。
本文针对超市商品销售数据,依据频繁项集挖掘方法中的Apriori算法,采用matlab软件平台进行数学编程并对超市商品数据进行分析和归纳总结,得到超市销售商品组合频繁项与支持度的数学规律,帮助超市获得更大的利润。
关键词:超市商品;频繁项集;Apriori算法;支持度0 引言目前,我国经济飞速发展,个体零售业逐渐兴起,超市数量增大,超市竞争也逐渐增大,如何能让超市在竞争中脱颖而出获得更高的利润,需要对超市销售商品数据进行数学分析、在数据项间寻找频繁项集[1],研究获取商品的销售规律。
本文依据频繁项挖掘算法,采用matlab软件平台进行数学编程并对超市商品数据进行分析和归纳总结,获得物品之间的关联规则,使超市商品摆放更合理,获得更高的销售利润。
1 分析方法以超市典型销售商品项目集啤酒、面包、蛋糕、冰淇淋、牛奶、茶为分析对象,以matlab为软件平台,采用Apriori算法,实现六种商品组合频繁项集与支持度的数学规律。
1.1 Apriori算法在实现中,关联规则的支持度表示包含所选项目的数量/项目总数量。
频繁项集是指集合中所有元素共同出现的次数频率大于或等于最小支持度。
而该算法的核心思想为:1)频繁项集的所有非空子集都是频繁项集;2)非频繁项集的超集一定是非频繁项集。
该算法利用这两个基本原理对所需要搜索的频繁项集空间进行大大的缩减,从而达到降低算法复杂度(包括时间复杂度和空间复杂度)的目的。
扫描所有数据,根据预先给定的支持度,得到频繁一项集(L1),再利用反复迭代的方法得到频繁二项集(L2)、频繁三项集(L3)……直到不能再找到新的频繁项集时,停止运算。
在计算产生Lk时,是用Lk-1自连接方法(例如在L1基础上生成C2是组合生成的)产生候选集Ck,先用上一段中所提到的该算法核心思想、剪枝策略裁剪候选项,再对候选集中每一个集合在数据库检测是否满足大于最小支持度的条件,满足则加入到Lk中,否则舍弃。
频繁项集与关联规则
摘要:
1.频繁项集的定义与应用
2.关联规则的定义与应用
3.频繁项集与关联规则的关系
4.频繁项集与关联规则在实际案例中的应用
正文:
1.频繁项集的定义与应用
频繁项集是数据挖掘中的一个重要概念,主要用于发现数据集中频繁出现且具有一定关联性的项集。
频繁项集分析是关联规则挖掘的基础,其主要应用在购物篮分析、搜索引擎自动补全、广告推荐等领域。
2.关联规则的定义与应用
关联规则是数据挖掘中用于发现数据集中各项之间潜在关系的规则。
它通常用来挖掘频繁项集之间的关联关系,如A→B、A→C 等。
关联规则在市场营销、金融风控、生物信息学等领域具有广泛的应用。
3.频繁项集与关联规则的关系
频繁项集和关联规则是数据挖掘中密切相关的两个概念。
频繁项集是关联规则挖掘的基础,只有发现频繁项集,才能进一步挖掘它们之间的关联关系。
而关联规则则是频繁项集分析的拓展,它不仅关注项集的出现频率,还关注项集之间的关联程度。
4.频繁项集与关联规则在实际案例中的应用
以购物篮分析为例,通过对销售数据进行频繁项集分析,可以发现顾客在购买某种商品时,常常还会购买其他哪些商品。
进一步挖掘这些频繁项集之间的关联规则,可以得到如“购买牛奶的顾客通常还会购买面包”等关联关系。
这些关联关系可以帮助商家制定更有效的营销策略,如将面包与牛奶摆放在一起,以提高销售额。
数据挖掘中的频繁模式发现数据挖掘是一种从大量数据中发现并提取有价值信息的过程。
频繁模式发现是数据挖掘领域中的一项重要任务,它帮助我们发现数据中经常出现的模式或关联规则,从而为决策和预测提供有力支持。
本文将介绍数据挖掘中频繁模式发现的基本概念、常用方法和实际应用。
一、频繁模式发现的概念在数据挖掘中,频繁模式指的是在数据集中经常出现的模式或子集。
这些模式可以是项集、序列或子图等形式。
频繁模式发现任务的目标是寻找在数据集中出现频率高于预设阈值的模式。
二、频繁模式发现的常用方法1. Apriori算法Apriori算法是频繁模式发现中最经典的方法之一。
该算法基于一种称为Apriori原则的性质,即如果一个模式是频繁的,那么它的所有子集也必须是频繁的。
Apriori算法通过迭代地生成候选项集,并在每一次迭代中利用Apriori原则剪枝,从而减少模式发现的搜索空间,提高算法的效率。
2. FP-Growth算法FP-Growth算法是另一种常用的频繁模式发现方法。
该算法通过构建一种称为FP树的数据结构来表示数据集,然后利用树的结构和属性,高效地挖掘频繁模式。
与Apriori算法相比,FP-Growth算法不需要生成候选项集,因此在一些情况下可以提供更好的性能。
三、频繁模式发现的应用频繁模式发现在各个领域都有广泛的应用。
以下是几个例子:1. 超市销售分析超市拥有大量的交易数据,通过频繁模式发现可以找到经常同时被购买的商品,从而帮助超市制定促销策略、调整商品陈列和优化供应链。
2. 社交网络分析在社交网络中,频繁模式发现可以用于发现用户之间的关联规则,例如朋友推荐、用户相似性分析和社群发现。
3. 生物信息学频繁模式发现可以在基因表达数据中发现共同出现的基因模式,从而帮助生物学家理解基因的功能和相互作用。
4. Web点击分析通过分析用户的点击行为,可以发现用户经常访问的网页或点击的广告,从而改进网站的推荐系统和广告投放策略。
数据分析中的关联规则挖掘与应用随着大数据时代的到来,数据分析成为了各个行业中不可或缺的一环。
而在数据分析的过程中,关联规则挖掘作为一种重要的技术方法,被广泛应用于市场营销、推荐系统、医疗健康等领域。
本文将探讨关联规则挖掘的原理、方法以及其在实际应用中的价值。
一、关联规则挖掘的原理关联规则挖掘是一种基于数据挖掘的技术方法,用于发现数据集中项集之间的关联关系。
其基本原理是通过分析数据集中的项集之间的频繁程度和关联度,从而找出其中的关联规则。
关联规则通常表示为X→Y,其中X和Y分别代表项集,表示当出现X时,很可能会出现Y。
关联规则的挖掘过程主要包括两个步骤:频繁项集的发现和关联规则的生成。
频繁项集指的是在数据集中出现频率较高的项集,而关联规则则是在频繁项集的基础上,通过计算置信度或支持度等指标,筛选出具有一定关联性的规则。
二、关联规则挖掘的方法关联规则挖掘的方法主要包括Apriori算法、FP-Growth算法等。
其中,Apriori算法是一种经典的关联规则挖掘算法,其基本思想是通过迭代的方式,逐渐增加项集的大小,从而找到频繁项集。
而FP-Growth算法则是一种基于前缀树的高效关联规则挖掘算法,通过构建FP树和利用条件模式基,可以快速挖掘频繁项集。
在实际应用中,根据数据集的特点和需求,选择合适的关联规则挖掘方法非常重要。
不同的方法有着不同的优势和适用范围,需要根据具体情况进行选择。
三、关联规则挖掘的应用关联规则挖掘在实际应用中有着广泛的应用价值。
首先,关联规则挖掘可以应用于市场营销领域。
通过分析购物篮中的商品组合,可以挖掘出消费者的购买习惯和偏好,从而进行精准的商品推荐和定价策略制定。
其次,关联规则挖掘在推荐系统中也有着重要的应用。
通过分析用户的历史行为和偏好,可以为用户推荐相关的商品或内容,提高用户的满意度和粘性。
此外,关联规则挖掘还可以应用于医疗健康领域。
通过分析患者的病历数据和疾病发展规律,可以挖掘出潜在的疾病关联关系,为医生提供辅助诊断和治疗的参考。
可视化数据挖掘中的关联规则和频繁项集可视化数据挖掘是一种将数据挖掘的结果以可视化的方式展示出来的方法。
它通过将数据转化为图形、图表、地图等形式,帮助人们更直观地理解和分析数据。
在可视化数据挖掘中,关联规则和频繁项集是两个重要的概念。
关联规则用于发现数据中的关联关系,而频繁项集则用于发现经常同时出现在一起的项。
本文将深入研究可视化数据挖掘中的关联规则和频繁项集,并探讨它们在实际应用中的意义和方法。
一、关联规则1.1 关联规则概述在可视化数据挖掘中,关联规则是一种描述两个或多个项之间相关性强弱程度的方法。
它可以帮助人们发现事物之间隐藏的联系,并通过这些联系做出预测或者推断。
1.2 关联规则挖掘算法为了发现大量数据中隐藏的关联性,需要使用一种高效且准确率较高的算法来进行关联规则挖掘。
常见的算法有Apriori算法、FP-Growth算法等。
1.3 可视化展示通过将得到的关联规则以图表或者其他形式展示出来,可以更加直观地理解和分析数据之间的关联关系。
例如,可以使用散点图、矩阵图等方式来展示关联规则的分布情况。
1.4 实际应用关联规则在市场营销、医疗诊断、网络安全等领域都有广泛的应用。
例如,在市场营销中,可以通过发现购买某种产品的人群中还会购买其他产品的规律,来进行精准推荐。
二、频繁项集2.1 频繁项集概述频繁项集是指在数据集中经常同时出现的一组项。
通过发现频繁项集,可以了解到哪些项经常一起出现,从而为后续分析和决策提供依据。
2.2 频繁项集挖掘算法为了发现数据中频繁项集,常用的算法有Apriori算法和FP-Growth算法。
这些算法在挖掘大规模数据时具有较高的效率和准确率。
2.3 可视化展示通过将得到的频繁项集以图表或者其他形式展示出来,可以更加直观地理解数据之间经常同时出现的情况。
例如,在市场篮子分析中,可以使用词云图等方式展示经常一起购买的商品。
2.4 实际应用频繁项集在推荐系统、市场分析、网络安全等领域都有广泛的应用。
关联规则挖掘算法的研究与应用引言:关联规则挖掘算法作为数据挖掘领域的重要工具之一,在商业、医疗等领域有着广泛的应用。
通过挖掘数据集中的关联规则,可以发现数据之间的潜在关联关系,为决策提供支持与指导。
本文将对关联规则挖掘算法的研究和应用进行探讨,并分析其在实际问题中的应用效果。
一、关联规则挖掘算法的基本原理关联规则挖掘算法是通过寻找数据集中的频繁项集和关联规则来揭示数据之间的相关性。
算法的基本原理包括:支持度和置信度的计算、频繁项集的挖掘和关联规则的生成。
1. 支持度和置信度的计算:支持度表示一个项集在整个数据集中出现的频率,而置信度表示一个关联规则的可信度。
通过计算支持度和置信度,可以筛选出具有一定频率和可信度的项集和关联规则。
2. 频繁项集的挖掘:频繁项集是指在数据集中出现频率达到预定义阈值的项集。
挖掘频繁项集的常用算法有Apriori算法、FP-growth算法等。
Apriori算法是一种基于逐层搜索的算法,在每一层中利用候选项集生成频繁项集。
而FP-growth算法是一种基于树结构的算法,通过构建FP树和挖掘频繁模式来实现。
3. 关联规则的生成:在挖掘到频繁项集之后,可以利用这些频繁项集生成关联规则。
关联规则的生成常采用Apriori原理,即从频繁项集中根据最小置信度阈值生成关联规则。
二、关联规则挖掘算法的研究进展随着数据挖掘技术的发展,关联规则挖掘算法也得到了不断的改进与扩展。
研究者们提出了许多新的算法和改进方法,以提高关联规则的挖掘效果。
1. 改进的关联规则挖掘算法:针对传统算法在挖掘大规模数据时效率低下的问题,研究者们提出了一些改进的算法。
例如,有基于GPU加速的算法、并行化的算法以及基于增量挖掘的算法等。
这些算法通过利用硬件加速和并行计算技术,可以大幅提升挖掘速度。
2. 多维度关联规则挖掘:除了在单一维度上挖掘关联规则,研究者们还尝试在多维度上进行关联规则的挖掘。
多维关联规则挖掘算法可以同时挖掘多个维度中的关联规则,从而发现更加丰富和准确的关联关系。
频繁集项算法频繁集项算法是一种常用的数据挖掘算法,用于从大规模数据集中发现频繁出现的项集。
它是一种基于集合的数据分析方法,可以帮助我们找到数据中的关联规则和模式,从而为我们提供有价值的信息。
在实际应用中,频繁集项算法可以用于市场营销、推荐系统、网络安全等领域。
例如,在市场营销中,我们可以利用频繁集项算法来分析顾客的购买行为,找出哪些商品经常一起被购买,从而制定精准的促销策略。
在推荐系统中,我们可以利用频繁集项算法来分析用户的浏览记录,找出用户可能感兴趣的商品或内容,为用户提供个性化的推荐。
频繁集项算法的核心思想是通过扫描数据集多次,统计每个项集的出现频率,然后根据设定的最小支持度阈值来筛选出频繁项集。
具体而言,频繁集项算法可以分为两个步骤:第一步是生成候选项集,第二步是计算候选项集的支持度。
在生成候选项集的过程中,首先需要扫描数据集,统计每个项的出现次数,然后根据最小支持度阈值筛选出频繁一项集。
接下来,通过对频繁一项集进行连接操作,生成候选二项集。
对于候选二项集,再次扫描数据集,统计每个候选项集的出现次数,根据最小支持度阈值筛选出频繁二项集。
这个过程会一直进行下去,直到无法再生成新的候选项集为止。
在计算候选项集的支持度时,可以采用两种方式:暴力搜索和Apriori算法。
暴力搜索的方式是将每个候选项集与数据集中的每条记录进行比对,统计候选项集的出现次数。
而Apriori算法则是利用了频繁项集的性质,通过剪枝操作来减少候选项集的数量,从而提高计算效率。
除了频繁集项算法,还有一些相关的算法,如关联规则算法和序列模式挖掘算法。
关联规则算法是在频繁集项的基础上,通过计算置信度来挖掘项集之间的关联关系。
序列模式挖掘算法则是在频繁集项的基础上,考虑了项集之间的时序关系,用于挖掘序列数据中的频繁模式。
频繁集项算法是一种重要的数据挖掘算法,可以帮助我们从大规模数据集中发现有价值的信息。
通过对数据集的多次扫描和统计,可以找出频繁出现的项集,这些项集可以用于分析关联规则、推荐系统等应用场景。
频繁项集和关联规则的计算摘要:1.频繁项集的计算2.关联规则的计算3.应用实例正文:在数据挖掘领域,频繁项集和关联规则的计算是挖掘关联规则的重要方法之一。
关联规则指的是一个事件序列中,不同事件之间可能存在的关联性。
频繁项集和关联规则的计算可以帮助我们发现这些关联性,从而为决策提供依据。
下面我们将详细介绍频繁项集和关联规则的计算方法及其应用实例。
一、频繁项集的计算频繁项集是指在数据集中出现频次较高的项目集合。
计算频繁项集的主要目的是找到数据集中的频繁项,从而为关联规则挖掘提供基础。
频繁项集的计算方法主要包括Apriori 算法和FP-growth 算法。
1.Apriori 算法Apriori 算法是一种基于候选项集的频繁项集挖掘算法。
该算法首先生成所有可能的候选项集,然后扫描数据集,计算每个候选项集的支持度。
若支持度大于设定阈值,则将该候选项集加入频繁项集。
接着,利用已知的频繁项集生成新的候选项集,重复上述过程,直到不再生成新的频繁项集为止。
2.FP-growth 算法FP-growth 算法是一种基于频繁项集的关联规则挖掘算法。
该算法通过构建一个以项为节点、支持度为边的有向图,然后采用动态规划的方法,递归地生成频繁项集。
FP-growth 算法避免了Apriori 算法中的多次扫描数据集的缺点,效率较高。
二、关联规则的计算关联规则的计算是在频繁项集的基础上进行的。
关联规则指的是满足最小支持度的项目集合之间的关联性。
常见的关联规则计算方法有Apriori 算法、FP-growth 算法和ECLAT 算法。
1.Apriori 算法(关联规则计算)在计算频繁项集的基础上,Apriori 算法可以进一步计算关联规则。
该算法通过扫描数据集,计算满足最小支持度的项目集合之间的关联性,从而得到关联规则。
2.FP-growth 算法(关联规则计算)FP-growth 算法在生成频繁项集的过程中,可以同时计算关联规则。
一、介绍Stata是一种用于数据分析和统计建模的软件工具,而Apriori算法则是用于关联规则挖掘的一种经典算法。
本文将对Stata中Apriori算法的应用进行介绍,包括算法原理、使用方法和实际案例分析。
二、Apriori算法原理Apriori算法是一种基于频繁项集的挖掘方法,通过寻找频繁项集来发现数据中的关联规则。
其基本原理为先找出频繁项集,再由频繁项集生成关联规则。
算法主要包括三个步骤:1. 扫描数据集,找出频繁1项集;2. 基于频繁1项集,生成候选2项集,并通过扫描数据集找出频繁2项集;3. 重复以上步骤,直到找出所有频繁项集。
三、Stata中的Apriori算法使用方法Stata提供了丰富的数据挖掘和统计分析功能,包括对Apriori算法的支持。
用户可以使用Stata中的命令行或GUI界面进行Apriori算法的应用。
1. 命令行操作在Stata中,用户可以通过命令行输入对应的命令来进行Apriori算法的使用。
使用apriori命令可以指定数据集和参数进行关联规则挖掘,用户可以根据实际情况灵活调整参数以达到更好的挖掘效果。
2. GUI界面操作Stata还提供了直观友好的图形界面,用户可以通过简单的操作来完成Apriori算法的应用。
在Stata的GUI界面中,用户可以直接导入数据集、设置参数、启动算法等,整个操作流程更加直观和便捷。
四、实际案例分析以下通过一个实际的案例来展示Stata中Apriori算法的应用。
假设我们有一个超市的交易数据集,包括每个顾客购物的商品清单。
我们希望利用Apriori算法挖掘出顾客之间的购物关联规则,以便超市做出更精准的商品搭配和促销活动。
1. 数据预处理我们需要将原始交易数据导入Stata,并进行预处理。
预处理包括数据清洗、格式转换等操作,以确保数据的准确性和完整性。
2. Apriori算法应用在数据预处理完成后,我们可以使用Stata中的Apriori算法来进行关联规则挖掘。
数据挖掘中频繁模式挖掘算法研究进展随着互联网的快速发展以及大量数据的产生,数据挖掘逐渐成为一项重要的技术。
而频繁模式挖掘作为数据挖掘的关键任务之一,广泛应用于市场分析、网络推荐、生物信息学等领域。
本文将就数据挖掘中频繁模式挖掘算法的研究进展进行探讨。
频繁模式挖掘是一种发现数据集合中频繁出现的模式和相互关联的方法。
其作用是挖掘出在给定数据集中频繁出现的项集或序列,进而为后续的数据分析提供支持。
频繁模式挖掘算法的研究主要包括Apriori算法、FP-growth算法和Eclat算法等。
Apriori算法是最早被提出的频繁模式挖掘算法之一,它基于频繁项集的先验知识,通过逐级搜索来挖掘频繁模式。
Apriori算法的主要思想是利用Apriori原理:如果一个模式是频繁的,那么它的所有子集也是频繁的。
Apriori算法将数据集划分为多个大小为1的频繁项集,然后通过迭代扩展这些频繁项集,以获得包含更多项的更频繁项集。
然而,Apriori算法的缺点是存在大量的候选集生成和多次的数据库扫描,时间和空间复杂度较高。
为解决Apriori算法存在的问题,FP-growth算法被提出。
FP-growth算法使用一种称为FP树的数据结构来存储数据集,并通过构建树来挖掘频繁模式。
FP-growth算法不需要生成候选集,从而减少了搜索空间。
它通过构建FP树和对树进行频繁项集挖掘来发现频繁模式。
FP-growth算法的优势在于可以在一次数据扫描中完成频繁模式挖掘,大大提高了算法的效率。
与FP-growth算法类似的Eclat算法也是一种基于垂直数据表示的频繁模式挖掘算法。
Eclat算法使用一个称为闭集合的数据结构来表示频繁项集,并通过递归方式挖掘频繁模式。
Eclat算法的特点是无需生成候选集和扫描数据库,可以高效地挖掘频繁模式。
除了传统的频繁模式挖掘算法,还有一些基于增量挖掘、分布式计算和图结构等技术的新算法被提出。
增量挖掘算法通过利用已有的频繁模式挖掘结果来进行增量计算,从而提高了算法的效率。
频繁项集挖掘及其在实际中的应用
发表时间:2018-07-18T16:21:45.303Z 来源:《科技中国》2018年2期作者:张松年
[导读] 摘要:超市商品组合销售看似毫无规律,实际上不同商品组合销售的频繁度差异很大。
本文针对超市商品销售数据,依据频繁项集挖掘方法中的Apriori算法,采用matlab软件平台进行数学编程并对超市商品数据进行分析和归纳总结,得到超市销售商品组合频繁项与支持度的数学规律,帮助超市获得更大的利润。
摘要:超市商品组合销售看似毫无规律,实际上不同商品组合销售的频繁度差异很大。
本文针对超市商品销售数据,依据频繁项集挖掘方法中的Apriori算法,采用matlab软件平台进行数学编程并对超市商品数据进行分析和归纳总结,得到超市销售商品组合频繁项与支持度的数学规律,帮助超市获得更大的利润。
关键词:超市商品;频繁项集;Apriori算法;支持度
0 引言
目前,我国经济飞速发展,个体零售业逐渐兴起,超市数量增大,超市竞争也逐渐增大,如何能让超市在竞争中脱颖而出获得更高的利润,需要对超市销售商品数据进行数学分析、在数据项间寻找频繁项集[1],研究获取商品的销售规律。
本文依据频繁项挖掘算法,采用matlab软件平台进行数学编程并对超市商品数据进行分析和归纳总结,获得物品之间的关联规则,使超市商品摆放更合理,获得更高的销售利润。
1 分析方法
以超市典型销售商品项目集啤酒、面包、蛋糕、冰淇淋、牛奶、茶为分析对象,以matlab为软件平台,采用Apriori算法,实现六种商品组合频繁项集与支持度的数学规律。
1.1 Apriori算法
在实现中,关联规则的支持度表示包含所选项目的数量/项目总数量。
频繁项集是指集合中所有元素共同出现的次数频率大于或等于最小支持度。
而该算法的核心思想为:1)频繁项集的所有非空子集都是频繁项集;2)非频繁项集的超集一定是非频繁项集。
该算法利用这两个基本原理对所需要搜索的频繁项集空间进行大大的缩减,从而达到降低算法复杂度(包括时间复杂度和空间复杂度)的目的。
扫描所有数据,根据预先给定的支持度,得到频繁一项集(L1),再利用反复迭代的方法得到频繁二项集(L2)、频繁三项集
(L3)……直到不能再找到新的频繁项集时,停止运算。
在计算产生Lk时,是用Lk-1自连接方法(例如在L1基础上生成C2是组合生成的)产生候选集Ck,先用上一段中所提到的该算法核心思想、剪枝策略裁剪候选项,再对候选集中每一个集合在数据库检测是否满足大于最小支持度的条件,满足则加入到Lk中,否则舍弃。
1.2 程序实现
MATLAB相比其他语言如C、C++、JAVA,更适合于做数据实验,在完成相同功能时,语句往往更为简洁,并且便于在跑程序的过程中展示结果,方便交互式编程。
以MATLAB为软件平台,完成了频繁项集与支持度数学规律的程序实现。
程序由主函数Market Basket和功能函数findFreqItemsets组成,主函数主要实现超市商品数据库的输入、功能函数的调用和结果数据的输出和显示。
功能函数实现所给支持度下,商品频繁项集的分析。
功能函数由主函数findFreqItemsets和getFreqOneItemsets、aprioriGen、pruneCandidates三个子函数组成。
主函数findFreqItemsets 实现超市商品数据库和最小支持度等数据的输入、三个子函数的调用以及支持度数组、频繁项集是否为空等逻辑判断。
子函数getFreqOneItemsets实现频繁项集L(1)的获取;子函数aprioriGen实现由频繁项集L(k-1)得到候选集C(k);pruneCandidates子函数实现由候
选集C(k)得到频繁项集L(k)。
功能函数的程序框图见图1。
2.2 频繁项集L2
对于L1中的各项进行再一次组合,从而生成候选集C2,先使用“频繁项集的非空子集一定是频繁项集”的规则筛选掉部分候选集,再把剩余的频繁项集带回到数据库中检测是否符合大于或等于最小支持度的标准,满足则加入L2。
数据见表3。
3 结果与讨论
Apriori算法的优点是相对于暴力搜索算法,通过“频繁项集的非空子集一定是频繁项集”这一思想对候选集进行提前剪枝,从而大大缩小了搜索空间。
然而,频繁项集挖掘仍是一个难题,即使提前剪枝,Apriori算法在遇到大数据集时,仍然会有复杂度较高导致的难以运算的问题。
后来也有算法在Apriori算法基础上进行进一步改进,即进一步减少扫描数据库的次数,如FP-树频集算法等[2]。
我们设定的最小支持度需要根据不同的应用需求来改变,当最小支持度很小时,往往会挖掘出很多的频繁项集,而这其中很多并没有有趣的信息。
当最小支持度很大时,可能会导致频繁项集太少甚至没有的情况。
所以最小支持度的设定需要一定经验,在实际操作中,可
能会用几个值分别进行试验,取最优值得到最终结果。
为研究最小支持度与频繁项集的规律,我们分别对最小支持度minsup=0.3、0.5和0.7的情况进行了分析。
分析数据见表5。
当支持度为0.3时,频繁项集达到3级,频繁项集共11组,其中{面包、冰淇淋、牛奶}和{面包、牛奶、茶}两个组合支持度均不低于0.3。
当支持度为0.5时,频繁项集达到2级,频繁项集共6组,{面包、牛奶}、{面包、茶}、{牛奶、茶}三个组合支持度均不低于0.5。
当支持度为0.7时,频繁项集只有1级,频繁项集共3组,{面包}、{牛奶}、{茶}三个组合支持度均不低于0.7;牛奶卖出的最多,面包和茶其次。
4 结论
采用 Apriori算法和MATLAB软件编程在超市商品销售数据中挖掘出了频繁项,找到了销售商品组合和支持度的关联分析规律和方法,使商品摆放、销售更具有科学性,使超市利润最大化,为超市的商品布局、销售提供了科学依据。
参考文献;
[1] 李清峰,杨路明,张晓峰。
关联规则中最大频繁项目集的研究[J].计算机应用研究,2005(1):93-95。
[2]朱明。
数据挖掘[M].合肥:中国科学技术大学出版社,2002。