数据仓库与数据挖掘实验指导书.docx
《数据仓库与数据挖掘实验指导书.docx》由会员分享,可在线阅读,更多相关《数据仓库与数据挖掘实验指导书.docx(70页珍藏版)》请在冰豆网上搜索。
数据仓库与数据挖掘实验指导书
《数据仓库与数据挖掘》实验指导书
(适用于信息系统与信息管理专业)
编者:
XXX
XX大学管理学院
2010-2
目录
前言1
实验一、SPSSClementine软件功能演练5
实验二、SPSSClementine数据可视化9
实验三、决策树C5.0建模10
实验四、关联规则挖掘21
实验五、欺诈屏蔽/异常检测/神经网络29
实验六、分类和回归树节点(C&RT)40
实验七、多项Logistic回归50
实验八、综合实验:
电力负荷预测56
前言
一、课程简介
数据挖掘(DataMining),就是从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程。
数据挖掘的广义观点:
数据挖掘就是从存放在数据库,数据仓库或其他信息库中的大量的数据中“挖掘”有趣知识的过程。
数据挖掘,又称为数据库中知识发现(KnowledgeDiscoveryinDatabase,KDD),因此,数据挖掘和数据仓库的协同工作,一方面,可以迎合和简化数据挖掘过程中的重要步骤,提高数据挖掘的效率和能力,确保数据挖掘中数据来源的广泛性和完整性。
另一方面,数据挖掘技术已经成为数据仓库应用中极为重要和相对独立的方面和工具。
数据挖掘有机结合了来自多学科技术,其中包括:
数据库、数理统计、机器学习、高性能计算、模式识别、神经网络、数据可视化、信息检索、图像与信号处理、空间数据分析等,这里我们强调数据挖掘所处理的是大规模数据,且其挖掘算法应是高效的和可扩展的。
通过数据挖掘,可从数据库中挖掘出有意义的知识、规律,或更高层次的信息,并可以从多个角度对其进行浏览察看。
所挖掘出的知识可以帮助进行决策支持、过程控制、信息管理、查询处理等等。
因此数据挖掘被认为是数据库系统最重要的前沿研究领域之一,也是信息工业中最富有前景的数据库应用领域之一。
当前数据挖掘应用主要集中在电信、零售、农业、网络日志、银行、电力、生物、天体、化工、医药等方面。
而据Gartner的报告也指出,数据挖掘会成为未来10年内重要的技术之一。
二、课程的任务和实验的教学目标
课程编号:
5405190
课程属性:
专业任选课
实验学时:
12
适用专业:
信息管理与信息系统
先修课程:
管理信息系统、计算机基础、数据库技术、统计学
《数据仓库与数据挖掘》是一门理论和实践相结合的课程,它在整个信息系统与信息管理专业中处于信息系统应用的前沿应用的地位,是计算机科学的算法理论基础和数据库、数据仓库技术、统计技术的结合,以及在管理实践中应用。
其上机实验的目的主要是实现数据挖掘的主要算法,训练学生实际动手进行数据挖掘设计和软件应用的能力,加深对数据挖掘相关概念和算法的理解。
本课程具有技术性和实践性较强的特点,因此,配合基本原理的讲授,应当安排相应的实习操作。
通过实验和操作,使学生巩固和加深数据仓库与数据挖掘理论知识,进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,为今后工作打下良好的基础。
经过多层次、多方式的全面训练后,学生应达到下列要求:
1.进一步巩固和加深数据仓库与数据挖掘基本知识的理解,提高综合运用所学知识,建立和管理数据的能力。
2.能根据需要选学参考书,查阅相关的工具,通过独立思考,深入钻研有关问题,学会自己独立分析问题、解决问题,具有一定的创新能力。
3.能正确处理大规模数据,选择数据挖掘工具的开发平台和相关的软件解决实践问题。
4.能独立撰写实验报告,准确分析实验结果,总结有关的问题,提出相关的建议。
三、实验教材及参考书
理论课教材及参考书:
☞数据仓库与数据挖掘教程(丛书名:
高等院校信息管理与信息系统专业系列教材)作者:
陈文伟编著,清华大学出版社,2006.8
☞数据仓库和数据挖掘,苏新宁等编著,清华大学出版社,2006.4
☞数据仓库与数据挖掘技术(第2版),陈京民编著,电子工业出版社,2007.11
☞JiaweiHan,MichelineKamber.DataMining:
ConceptsandTechniques.高等教育出版社(影印版),2001.5.
☞IanH.Witten,EibeFrank.DataMining:
PracticalMachineLearningToolsandTechniques(第二版).机械工业出版社(影印版),2005.
☞RichardJ.Roiger,MichaelW.Geatz.DataMining:
ATutorial-BasedPrimer.清华大学出版社,2003.
实验教材:
☞数据挖掘Clementine应用实务,谢邦昌主编,机械工业出版社,2008.4
☞数据挖掘原理与SPSSClementine应用宝典,元昌安主编,电子工业出版社,2009.8
四、实验基本内容及学时分配
按照《数据仓库与数据挖掘》实验教学大纲的要求,共设立实验8个,总计20学时。
试验基本内容与学时分配如下表:
序号
实验名称
实验学时
每组人数
实验属性
实验者类别
开出
要求
1
SPSSClementine软件功能演练
2
1
演练
本科
必开
2
实验二、SPSSClementine数据可视化
2
1
演练
本科
必开
3
决策树C5.0建模
2
1
验证综合
本科
必开
4
关联规则挖掘
2
1
验证综合
本科
必开
5
欺诈屏蔽/异常检测/神经网络
2
1
验证综合
本科
必开
6
分类和回归树节点(C&RT)
2
1
验证综合
本科
必开
7
多项Logistic回归
2
1
验证综合
本科
必开
8
实验八、综合实验:
电力负荷预测
6
1
综合实验
本科
必开
五、实验方式与基本要求
1、本课程的实验为非单独设课,因此,应该课程的内容安排和进度,配合技术原理的讲授,进行相应的操作和实验。
2、该课以综合性实验为主,教师给出实验题目,实验前学生必须进行预习,
3、在规定的时间内,由学生独立完成,出现问题,教师要引导学生独立分析、解决,不得包办代替。
4、实验中按要求做好学生实验情况及结果记录,实验后认真填写实验记录。
5、实验指导书仅作为上机时的参考步骤,不能作为唯一的依据,以教材和课堂讲授为准。
实验一、SPSSClementine软件功能演练
【实验目的】
1、熟悉SPSSClementine软件功能和操作特点。
2、了解SPSSClementine软件的各选项面板和操作方法。
3、熟练掌握SPSSClementine工作流程。
【实验内容】
1、打开SPSSClementine软件,逐一操作各选项,熟悉软件功能。
2、打开一有数据库、或新建数据文件,读入SPSSClementine,并使用各种输出节点,熟悉数据输入输出。
(要求:
至少做access数据库文件、excel文件、txt文件、可变文件的导入、导出)
【实验步骤】
1、启动Clementine:
请从Windows的“开始”菜单中选择:
所有程序
SPSSClementine11.1
SPSSClementineclient11.1
2、Clementine窗口
当第一次启动Clementine时,工作区将以默认视图打开。
中间的区域称作流工作区。
在Clementine中,这将是用来工作的主要区域。
Clementine中绝大部分的数据和建模工具都在选项板中,该区域位于流工作区的下方。
每个选项卡都包含一组以图形表示数据挖掘任务的节点,例如访问和过滤数据,创建图形和构建模型。
要将节点添加到工组区,可在节点选项板中双击图标或将其拖拽至工作区后释放。
随后可将各个图标连接以创建一个表示数据流动的流。
窗口的右上方是输出和对象管理器。
这些选项卡用于查看和管理各种Clementine对象。
“流”选项卡包含了当前会话中打开的所有流。
可以将这些流保存并关闭,也可将其添加到工程中。
“输出”选项卡包含了由Clementine中的流操作产生的各类文件。
可以显示、重命名和关闭此处所列的表格、图形和报告。
“模型”选项卡是一个功能强大的工具,包含了在一次会话中产生的所有模型(即,已在Clementine中构建完毕的模型)。
通过它,可以对模型作更深入的查看、将其添加至流中、导出或为其加注解。
窗口右侧底部的部分是工程工具,它用来创建和管理数据挖掘工程。
查看在Clementine中创建的工程有两种方式-类视图或CRISP-DM视图。
“CRISP-DM”选项卡提供了一种组织工程的方式。
“类”选项卡提供了一种在Clementine中按类别(即,按照所创建对象的类别)组织工作的方式。
当要获取数据、流、模型等对象的详尽目录时,这种视图十分有用。
实验二、SPSSClementine数据可视化
【实验目的】
1、熟悉SPSSClementine绘图。
2、了解SPSSClementine图形选项面板各节点的使用方法。
3、熟练掌握SPSSClementine数据可视化流程。
【实验内容】
1、打开SPSSClementine软件,逐一操作各图形选项面板,熟悉软件功能。
2、打开一有数据库、或新建数据文件,读入SPSSClementine,并使用各种输出节点,熟悉数据输入输出。
(要求:
至少做分布图、直方图、收集图、多重散点图、时间散点图)
【实验步骤】
1、启动Clementine:
请从Windows的“开始”菜单中选择:
所有程序
PSSClementine11.1
SPSSClementineclient11.1
2、建立一个流、导入相关数据,打开图形选项面板
3、绘制以下各类图形
(1)以颜色为层次的图
(2)以大小为层次的图
(3)以颜色、大小、形状和透明度为层次的图
(4)以面板图为层次的图
(5)三维收集图
(6)动画散点图
(7)分布图
(8)直方图
(9)收集图
(10)多重散点图
未标准化时的多重散点图
标准化后的多重散点图
(11)网络图
实验三、决策树C5.0建模
【实验目的】
1、熟悉SPSSClementine建模方法。
2、掌握SPSSClementine分布图、散点图、网络图的创建方法。
3、掌握决策树C5.0决策方法。
【实验内容】
1、创建散点图。
2、创建分布图。
3、创建网络图。
【实验步骤】
假设你是一位正在汇总研究数据的医学研究员。
已收集了一组患有同一疾病的患者的数据。
在治疗过程中,每位患者均对五种药物中的一种有明显反应。
的任务就是通过数据挖掘找出适合治疗此疾病的药物。
此示例使用名为druglearn.str的流,此流引用名为DRUG1n的数据文件。
可以从任何ClementineClient安装软件的Demos目录下找到这些文件,也可以通过从Windows的“开始”菜单选择Start>[All]Programs>SPSSClementine11.1>Demos访问这些文件。
文件druglearn.str位于Classification_Module目录中。
此demo中使用的数据字段包括:
年龄
(数值)
性别
M或F
BP
血压:
高、正常或低
胆固醇
血液中的胆固醇含量:
正常或高
Na
血液中钠的浓度
K
血液中钾的浓度
药品
对患者有效的处方药
1、读取文本数据
使用变量文件节点读取定界文本数据。
可以从选项板中添加变量文件节点,方法是单击源选项卡找到此节点,或者使用收藏夹选项卡(默认情况下,其中包含此节点)。
然后,双击新添加的节点以打开相应的对话框。
单击紧挨“文件”框右边以省略号“...”标记的按钮,浏览到系统中的Clementine安装目录。
打开demos目录,然后选择名为DRUG1n的文件。
选择从文件读取字段名,并注意已载入此对话框中的字段和值。
单击数据选项卡,覆盖和更改某个字段的存储。
注意,存储不同于类型或数据字段的用途。
类型选项卡可帮助了解数据中的更多字段类型。
还可以选择读取值来查看各个字段的实际值,具体取决于在值列中的选择。
此过程称为实例化。
类型选项卡可帮助了解数据中的更多字段类型。
还可以选择读取值来查看各个字段的实际值,具体取决于在值列中的选择。
此过程称为实例化。
2、添加表。
现在已载入数据文件,可以浏览一下某些记录的值。
其中一个方法就是构建一个包含表节点的流。
要将表节点添加到流中,可双击选项板中的表节点图标或将其拖放到工作区。
双击选项板中的某个节点后,该节点将自动与流工作区中的选定节点相连接。
此外,如果尚未连接节点,则可以使用鼠标中键将源节点与表节点相连接。
要模拟鼠标中键操作,请在使用鼠标时按下Alt键。
要查看表,请单击工具栏上的绿色箭头按钮执行流,或者右键单击表节点,然后选择执行。
3、创建分布图
数据挖掘过程中,创建汇总视图通常有助于研究数据。
Clementine提供了若干不同类型的图表供您选择,具体取决于要汇总分析的数据类型。
例如,要找出每种药物的对症患者的比例,请使用分布节点。
将分布节点添加到流,并将其与源节点相连接,然后双击该节点以编辑要显示的选项。
选择药品作为要显示其分布的目标字段。
然后,在对话框中单击执行
最终图表将有助于查看数据的“结构”。
结果表明,药品Y的对症患者最多,而药品B和药品C的对症患者最少。
此外,还可以添加并执行数据审核节点,同时快速浏览所有字段的分布图和直方图。
可以在“输出”选项卡中找到数据审核节点。
4、创建散点图
现在我们来看一下有哪些因素会对药品(目标变量)产生影响。
作为研究员,您一定知道钠和钾的浓度在血液中有着重要的影响。
由于两者都是数值,您可以用颜色区分药品,创建一个关于钠和钾的散点图。
将散点图节点放在工作区中,并将其与源节点相连接,然后双击该节点对其进行编辑
在“散点图”选项卡中,选择Na作为X字段,选择K作为Y字段,并选择药品作为交叠字段。
然后单击执行。
此散点图清楚地显示一个阈值,在此阈值上方,对症药品始终是Y,在此阈值下方,对症药品均不是Y。
此阈值是一个比率,即钠(Na)和钾(K)的比率。
5、创建网络图
因为很多数据字段均可分类,也可尝试绘制网络图,此图表将反映不同类别之间的联系。
首先,将网络节点与您工作区中的源节点相连接。
在“网络节点”对话框中,选择BP(血压)和药品。
然后单击执行。
此图显示,药品Y与三种级别的血压均相关。
Y是最佳药品。
。
实验四、关联规则挖掘
【实验目的】
1、熟悉C5.0规则归纳
2、掌握购物篮分析的方法。
【实验内容】
1、字段和记录的筛选。
2、规则归纳(C5.0)分类。
3、购物篮分析。
【实验步骤】
本示例处理描述超级市场购物篮内容(即,所购买的全部商品的集合)的虚构数据,以及购买者的相关个人数据(可通过忠诚卡方案获得)。
目的是寻找购买相似产品并且可按人口统计学方式(如按年龄、收入等)刻画其特征的客户群。
本示例说明了数据挖掘的两个阶段:
•关联规则建模和一个揭示所购买商品之间联系的Web显示
•C5.0规则归纳(描绘已标识产品组的购买者的特征)
注意:
此应用不直接使用预测建模,因此,不对最终模型进行准确性度量,在数据挖掘过程中也不存在与之相关的训练/检验两个步骤的区分。
本例使用名为baskrule的流,该流引用名为BASKETS1n的数据文件。
任何ClementineClient安装的Demos目录中都具有这些文件,通过从Windows的“开始”菜单中选择Start>[All]Programs>SPSSClementine11.1>Demos可访问这些文件。
文件baskrule位于Classification_Module目录下。
1、访问数据
使用“变量文件”节点连接到数据集BASKETS1n,选择要从该文件读取的字段名称。
将“类型”节点连接到数据源,然后将该节点连接到“表”节点。
将字段卡ID的类型设置为无类型(因为每个忠诚卡ID在数据集中只出现一次,因此对于建模没有用处)。
选择集作为字段性别的类型(这是为了确保GRI建模算法不会将性别视为标志)。
现在,执行该流以将“类型”节点实例化并显示表。
数据集包含18个字段,其中每条记录表示一个购物篮。
下列标题中会显示18个字段。
购物篮摘要:
●cardid.购买此篮商品的客户的忠诚卡标识符。
●value.购物篮的总购买价格。
●pmethod.购物篮的支付方法。
卡持有者的个人详细信息:
●sex
●homeown.卡持有者是否拥有住房。
●收入
●age
购物篮内容—产品类别的出现标志:
●fruitveg
●freshmeat
●dairy
●cannedveg
●cannedmeat
●frozenmeal
●beer
●wine
●softdrink
●fish
●confectionery
3、发现购物篮内容的关系
首先,需要使用一般规则归纳(GRI)大致了解购物篮内容的关系(关联)以生成关联规则。
选择要在此建模过程中使用的字段,方法是:
编辑“类型”节点,将所有产品类别的方向设置为双向,并将所有其他方向设置为无。
(双向表示该字段可以是结果模型的输入或输出。
)
注意:
通过按住Shift键并单击以选择多个字段,然后指定列中的选项,可为多个字段设置选项。
指定了用于建模的字段后,请将GRI节点附加到“类型”节点,编辑它,选择选项只显示值为真的标志变量,然后执行GRI节点。
结果(管理器窗口右上角“模型”选项卡上的非精练模型)包含您可以查看(使用上下文菜单,然后选择浏览)的关联规则。
这些规则显示冻肉、罐装蔬菜和啤酒之间存在多种关联;酒和糖果也具有关联。
出现双向关联规则
(如:
frozenmeal⇦beerbeer⇦frozenmeal)
Web显示(只显示双向关联)可能会突出显示此数据中的一些模式。
将Web节点附加到“类型”节点,编辑Web节点,选择所有购物篮内容字段,选择仅显示true标志,然后执行Web节点。
因为大多数产品类别组合都会出现在多个购物篮中,所以此Web上的强链接太多,无法显示GRI模型表示的客户群。
要提高临界值以便只显示最强的链接,请使用工具栏上的滑块来实现最多只显示50个连接。
要指定弱连接和强连接,请单击工具栏上的黄色双箭头按钮。
这会展开显示Web输出摘要和控件的对话框。
选择大小表示强/正常/弱。
将弱链接设置为低于90。
将强链接设置为高于100。
在最终显示中,会有三个客户群突出显示:
●购买鱼和果蔬的客户,可将这类客户称为“健康食客”
●购买酒和粮果的客户
●购买啤酒、冻肉和罐装蔬菜(“啤酒、豆类和比萨”)的客户
请注意,GRI仅标识这些客户群中的最后两个;健康食客未形成足够强的模式,GRI无法发现它。
4、描绘客户群的特征
现在,已经根据客户购买的产品类型标识了三个客户群,但是还要知道这些客户是谁,即,他们的人口统计学特征。
通过为每个群中的每名客户添加标志,并使用规则归纳(C5.0)来基于规则描绘这些标志的特征,可以实现这一点。
首先,必须获取每个群的标志。
使用刚刚创建的Web显示,可以自动生成每个群的标志。
使用鼠标右键,单击fruitveg和fish之间的链接,并选择为链接生成“派生”节点。
编辑最终的“派生”节点以将“派生”字段名称更改为健康。
使用从wine到confectionery的链接重复该练习,并将最终的“派生”字段命名为wine_chocs。
对于第三个群(涉及三个链接),首先要确保未选择任何链接。
然后,在按住shift键的同时单击鼠标左键,从而选择cannedveg、beer和frozenmeal中的全部三个链接。
(一定要处于“交互”模式而不是“编辑”模式。
)然后,从Web显示菜单中选择:
生成:
导出节点(“和”)将最终“派生”字段的名称更改为beer_beans_pizza。
要描绘这些客户群的特征,请连续将现有的类型节点连接到这三个导出节点,然后附加另一个类型节点。
在新类型节点中,请将除以下字段外的所有字段的方向都设置为无:
value、pmethod、sex、homeown、income和age(这些字段的方向应该设置为输入),以及相关的客户群(例如,beer_beans_pizza,它们的方向应该设置为输出)。
附加C5.0节点,将输出类型设置为规则集,然后执行它。
最终模型(用于beer_beans_pizza)包含此客户群的明确人口统计学特征:
Rule1forT:
ifincome<=16900
andsex==M
then->T
通过在第二个类型节点中选择其他客户群标志作为输出,可将同一方法应用到这些标志。
通过在此上下文中使用GRI代替C5.0,可生成更多替代特征描绘;GRI也可用于同时描绘所有客户群标志的特征,原因是,GRI并非被限制到一个输出字段。
示例说明如何使用Clementine通过建模(使用GRI)和直观化(使用Web显示)发现数据库中的关系(即链接)。
这些链接与数据中的案例组相对应,并且,通过建模(使用C5.0规则集)可详细研究这些组并描绘其特征。
例如,在零售领域,可能会使用这种客户组确定特殊优惠目标,以提高直接邮寄的响应率,或自定义某分部的存货产品范围以与其人口统计学基础的需求匹配。
1、
2、。
3、。
实验五、欺诈屏蔽/异常检测/神经网络
【实验目的】
1、熟悉各种聚类分析方法
2、了解神经网络分析方法与过程
3、掌握异常检测的方法。
【实验内容】
1、聚类分析。
2、神经网络建模。
3、异常检测。
【实验步骤】
此示例显示了Clementine在检测诈欺行为方面的应用。
这一领域涉及农业发展财政补贴申请。
有两种财政补贴类型在考虑之列:
耕地开发财政补贴和退役田地财政补贴。
本例使用虚拟数据演示如何通过分析方法来发现与标准数据的偏差,同时突出了有必要进一步调查的异常记录。
财政补贴申请金额取决于田地的类型和大小,您会特别关注其中的不合理部分。
分析通过两个阶段执行:
先使用“异常检测”进行预筛选,然后使用“神经网络”模型进行深入分析。
本例使用名为fraud_anomalies.str的流,该流引用名为grantfraudN.db的数据文件。
可以从任何ClementineClient安装软件的Demos目录下找到这些文件,也可以通过从Windows的“开