目录
- 一、实验目的
- 二、实验内容和要求
- 三、实验步骤
- 1、创建数据库和表
- 2、挖掘关联规则
- (1)新建一个 Analysis Services 项目 Sales
- (2)建立数据源视图
- (3)建立挖掘结构 Sales.dmm
- (4)部署关联规则挖掘项目并浏览结果
- 四、实验结果分析
- 五、实验总结体会
一、实验目的
通过本实验,对利用 Apriori 和 FP-growth 算法发现频繁项集、构建关联规则的方法有准确的理解。并掌握利用 Sql Server 等工具平台进行关联规则挖掘的方法,掌握挖掘结构、挖掘模型的基本概念,能够使用数据挖掘向导创建数据挖掘结构和模型,掌握数据挖掘设计器的使用方法,掌握模型查看器方法 ,理解关联规则挖掘常用的参数含义和设置方法。
二、实验内容和要求
针对实际需求,构建格式规范的数据集,并能够借助于 SQL Server、Weka、SPSS 等工具平台,利用 Apriori/FP-growth 算法,进行关联规则挖掘,正确分析实验结果,发现知识,完成实验报告。
三、实验步骤
以下以 Sql Server 作为工具,完成数据集的构建和关联规则的挖掘。
1、创建数据库和表
在 SSMS 中建立 Sales 数据库 (模拟超市/商场的销售数据),分别设计 Maintable (客户订单表)、Subtable (订单明细表)。表的结构和内容如下所示。
Maintable (客户订单表):
Subtable (订单明细表):
2、挖掘关联规则
在 Sql Server Data Tools 中采用如下步骤挖掘关联规则。
(1)新建一个 Analysis Services 项目 Sales
定义数据源 Sales.ds,对应的数据库为前面建立的 Sales 数据库。
(2)建立数据源视图
定义数据源视图 Sales.dsv,它包含 Maintable 和 Subtable 两个表,并建立两个人表之间的关系,如下所示。
定义数据源视图 Sales.dsv:
建立两个表之间的关系:
数据源视图如下:
(3)建立挖掘结构 Sales.dmm
新建挖掘结构,在 “创建数据挖掘结构” 页面的 “您要使用何种数据挖掘技术?” 选项下,选中列表中的 “Microsoft关联规则”。
为该数据源视图指定 Maintable 和 Subtable 两个表。
在 “指定表类型” 页面上,在 Maintable 表的对应行中选中 “事例” 复选框,在 Subtable 表的对应行中选中 “嵌套” 复选框。
在 “指定定型数据” 页面中,选中 MainTable 表订单编号字段所在行的 “键” 复选框。在 Subtable 表的产品名称字段勾选 “键”、“输入” 和 “可预测” 复选框。
在 “创建测试集” 页面上,“测试数据百分比” 选项的默认值为30%,将该选项更改为0.
在完成向导页面的 “挖掘结构名称” 和 “挖掘模型名称” 中,都输入 Sales,并且勾选 “允许钻取” 复选框。
结果如下图:
打开数据挖掘设计器的 “挖掘模型” 选项卡,右击 “Sales”,在出现的下拉菜单中选择 “设置算法参数” 命令,设置 “MINIMUM_PROBABLITY” 参数为0.5,设置 MINIMUM_SUPPORT 参数为0.2。
(4)部署关联规则挖掘项目并浏览结果
先处理(部署)、再浏览。
打开数据挖掘设计器的 “挖掘模型查看器” 选项卡,分别选择 “规则”、“项集” 和 “依赖关系网络” 选项并浏览。结果如下图所示。
四、实验结果分析
1、选择“规则”选项并分析
在概率为1.0条件下,可以看到 草稿本→圆珠笔,圆珠笔→草稿本,牙膏→牙刷,牙刷→牙膏,平板→耳机,耳机→平板 这6个规则的重要性较高,可见关联性较强;在概率为0.5条件下,规则 台灯→抽纸 的重要性较高,关联性较强。
2、选择“项集”选项并分析
由图可知,支持度较高的1-项集有{平板},{圆珠笔},{牙刷},{牙膏},{台灯},{水杯},{耳机},{草稿本},2-项集有{圆珠笔, 草稿本},{牙刷, 牙膏},{平板, 耳机}。
3、选择“依赖关系网络”选项并分析
将左侧的链接拉到最底端,观察最强链接。
最强链接有如下三个:
五、实验总结体会
通过挖掘数据仓库中的关联规则,我们可以发现数据之间的潜在关联性,从而为业务决策提供重要的参考依据。
在进行实验时,首先需要准备好数据集,确保数据的完整性和准确性。然后,选择合适的挖掘算法和工具进行实验。常用的算法包括Apriori算法和FP-Growth算法,可以使用工具如Weka、RapidMiner或Python中的相应库进行实现。Apriori算法和FP-Growth都是用来发现频繁项集的算法,但Apriori算法在寻找频繁项集时需要不停的扫描数据集,而FP-Growth算法只需要扫描数据集两次,因此FP-Growth算法执行速度更快,频繁项集是进行关联分析的基础,因此能够快速高效的查找频繁项集十分重要。
在实验过程中,需要注意调整算法的参数,以获得更好的挖掘结果。同时,对挖掘结果进行评估和解释,确保发现的关联规则具有实际意义,并能够为业务决策提供帮助。
最后,及时总结实验过程中的经验和教训,不断优化挖掘过程,提高挖掘效率和准确性。通过不断地实践和探索,可以更好地理解数据仓库中的数据,挖掘出更多有价值的信息,为企业的发展提供有力支持。