数据仓库与数据挖掘实验指导._第1页
数据仓库与数据挖掘实验指导._第2页
数据仓库与数据挖掘实验指导._第3页
数据仓库与数据挖掘实验指导._第4页
数据仓库与数据挖掘实验指导._第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据仓库与数据挖掘课程实验本实验是数据仓库与数据挖掘课程的验证性实验环节课程共计 8 学时。·实验目标 :1、掌握建立和配置数据仓库的基本操作技能。主要包括数据仓库系统的安 装。2、掌握数据仓库中数据的处理技术。主要包括数据仓库的建模、事务数据的 转换、备份数据的恢复。3、掌握基于数据仓库的自动数据分析技术的基本操作技能。包括多维数据分 析和数据挖掘。4、掌握一种专用数据挖掘软件 ,用以分析处理文本或电子表格的数据。实验环境:l Microsoft SQLServer2000l Microsoft SQLServer2000 Analysis Servcel DBMiner2.0l

2、Microsoft SQLServer2000 PACK4l JAVA 运行时环境 :JRE5.0l WEKA3.55实验项目:l 实验 1:安装数据仓库系统平台 1.5 学时l 实验 2:构建数据仓库数据环境 1.5 学时l 实验 3:多维数据分析 1.5 学时l 实验 4:基于数据仓库的数据挖掘实验 2.0 学时l 实验 5:数据挖掘平台应用实验 1.5 学时实验 1:安装数据仓库系统平台l 实验任务 :1. 掌握 Microsoft Server2000 数据仓库系统的安装与配置2. 安装实验分析环境 :1 安装 Microsoft Server2000 analysis Service

3、2 安装 DBMiner2.03 安装 Java运行时环境 JRE5.04 安装 WEKAl 实验准备 :请从黑板或网上获取安装文件所在的网络地址。并记在下面 :网络资料的地址是 :本实验不得超过 1.5 学时。l 实验指导 :Lab1.1检查并安装 Microsoft Server2000单元目标 :确保完整正确的数据仓库实验环境工作步骤:1. 检查你所使用的电脑上是否有 Microsoft Server2000。如果有 ,启动并检查 Microsoft Server2000 是否安装了 Server Pack3以上的补丁文件。2. 如果以上都没问题 ,则本实验结束。3. 下载相应的系统文件

4、安装。先安装 Microsoft Server2000,再安装 Server Pack3 或 Server Pack4。Lab1.2检查并安装数据分析环境单元目标 :确保安装了相应的数据分析软件工作步骤:1. 检查你所使用的电脑是否安装了 Microsoft Server2000 analysisService,DBMiner2.0, JRE5.0, WEKA3.5.5。如果都已安装且能正常运行,则本实验结束。否则进入以下步骤。2. 如果没有安装以上软件。请按以下次序从网络资料地址上下载软件完成安装。完成 Lab1.1 和 Lab1,2后,本实验结束。实验 2:构建数据仓库数据环境l 实验任务

5、 :本实验主要验证 ETL 的数据处理过程。主要实验任务有 :1. 构建数据仓库模型 ,并在数据仓库系统中生成相应的数据表。2. 将事务数据库中的数据转入数据仓库中。3. 还原备份和还原的数据仓库中的数据。l 实验准备 :请从黑板或网上获取数据文件所在的网络地址。并记在下面 :数据文件的地址是 :本_ 实验不得超过 1.5 学时。本实验将使用 Microsoft SQLserver 的示例数据库 :Northwind, 这是一个商贸公司 的销售数据库。我们将这个事务型的数据导入到分析型的数据仓库中去。l 实验指导 :Lab2.1用 caseStudio2.15建 立数据仓库的星型模型单元目标

6、:建立 Northwind_DW 的数据仓库模型。如下图所示。并根据该模型生成相应的 数据仓库的维表和事实表的结构。工作步骤:1. 按下图样式建立 Northwind_DW 的昨型数据模型 ,请根据原事务数据库中相应字段的数据类型和宽度 ,对应地设计相应字段的数据类型和宽度2. 安装并启动 CaseStudio2.15设, 计以上模型。3. 运行生成脚本 (Generate script生成相应的 SQL 代码。Lab2.2将事务型数据加载到分析数据环境中单元目标 :根据以上实验单元建立的数据模型 ,在 MicrosoftSQL2000 中建立相应的物理数 据仓库。工作步骤:1. 请从教师课件

7、中 “数据仓库与数据挖掘 ”目录下的 Lab2008中下载文档“多维数据分析操作演练 .pdf ”2. 用 Adobe reader打开该文档。3. 在数据仓库创建部分 ,可以使用 Lab2.1中的模型进行创建和转化4. 按照上面所列步骤进行操作。最终完成事实表和维表的数据转移Lab2.3数据仓库中数据的备份与恢复单元目标 :1. 将已生成的数据仓库的数据进行备份。2. 利用备份文件向新的数据库中还原数据仓库的数据。工作步骤:1、备份打开 Sqlserver企业管理器 ,在需要备份的数据库上点鼠标右键 ,所有任务中选备 份数据库。再从 Sqlserver安装目录中的 Data目录下 ,拷贝出要

8、备份的数据库文件 *.mdf,*.ldf, 并备份这两个文件2、还原将要还原的数据库文件 *.mdf,*.ldf 拷贝到 Sqlserver安装目录下的 Data 目录 下。打开 Sqlserver企业管理器 ,新建一个数据库 ,在数据库这一项上点鼠标右键 ,在所 有任务中选导入数据库 ,以拷贝到 Data目录下的 mdf 恢复数据库。还原过程中 ,如果有什么异常 ,请参考 “数据仓库与数据挖掘技术 上机 ”目录下的 “数据仓库实习指导 .pdf ”中的还原部分的内容。实验 3:多维数据分析l 实验任务 :本实验主要验证 OLAP 多维分析的过程。主要包括完成 OLAP 数据库的创建 , 多维

9、数据集的创建。存储和处理多维数据 ,浏览多维数据集等实验任务。l 实验准备 :本实验使用的操作参考为 Lab2.2中下载的文档 , “多维数据分析操作演 练 .pdf 。”本实验不得超过 1.5 学时。l 实验指导 :Lab3.1多维数据分析实验单元目标 :1.掌握 Microsoft analysis Service的中对 OALP 数据库的操作步骤2. 在使用过程中熟悉和理解相应的概念。工作步骤:1.在“多维数据分析操作演练 .pdf 中”从 P85 开始进行相应的操作演练。2.在实验过程中 ,如果对相应的操作还不是很理解 ,请在 ”数据仓库 与数据挖掘技术 上机 ”目录下有 “Sqlse

10、rve数r 据分析 .rar 文”档 ,解 压后 ,有详细的帮助和演练信息。实验 4:基于数据仓库的数据挖掘实验l 实验任务 :1.基于 Microsoft SQLserver2000 Analyses Service的数据挖掘模型对数据 仓库中的数据进行决策树分析和聚类分析 ;2.使用 DBMiner2.0 对数据仓库中的数据进行聚类、关联分析3. 使用 DBMiner2.0 对数据仓库的数据分析进行可视化。l 实验准备 :本实验的实验指导参考资料在网上 ,请下载参考。本实验不得超过 1.5 学时。l 实验指导 :Lab4.1 基于 Microsoft SQLserver2000 Analy

11、ses Service的数据挖掘单元目标 :掌握 Microsoft SQLserver2000 Analyses Service的数据挖掘模型的使用步骤工 作步骤:请在”数据仓库与数据挖掘技术 上机 ”目录下有 “Sqlserve数r 据分析 .rar 文”档, 解压后,按下图所指 ,完成“数据挖掘”的演练。Lab4.2 基于 DBMiner2.0 的数据挖掘 (选做单元目标 :掌握 DBminer2.0 对数据仓库中的数据进行可视化分类、聚类、关联分析 由于时间有限 ,指导教师将进行一些现场的演练指导。工作步骤:1. 在”数据仓库与数据挖掘技术 ”目录下下载相应的操作手册“ DBMiner

12、Manual.pdf 文”档 ,阅读第一、二章。2. 对多维数据集进行可视化分析。 (chapter 43. 对多维数据集进行关联分析。 (chapter 64. 对多维数据集进行分类挖掘。 (chapter 75. 对多维数据集进行聚类分析。 (chapter 8实验 5:数据挖掘平台应用实验l 实验任务 :1.熟悉 WEKA 数据挖掘平台的基本功能。2.能够对存于文本或电子表格中的数据进行数据挖掘分析3. 本实验为选做 ,对毕业论文分析数据有利用价值。l 实验准备 :1.下载 Java运行时环境 JRE1.5。2.下载 WEKA 并安装运行3. 在”数据仓库与数据挖掘技术”目录下下载 “W

13、EKA中文使用手册 .pdf ”有,较详细的使用说明4. 所需要的数据存放在 “数据仓库与数据挖掘技术WEKA_DAT”A下。l 实验指导 :Lab5.1用 WEKA 进行决策树分析单元目标 :掌握 WEKA 进行决策树分析的步骤。工作步骤:WEKA 把分类 (Classification 和回归 (Regression都放在 “ Classify选项”卡中 ,这是 有原因的。在这两个任务中 ,都有一个目标属性 (输出变量。我们希望根据一个样本 (WEKA 中称作实例的一组特征 (输入变量 ,对目标进行预测。为了实现这一目的 ,我们需要有 一个训练数据集 ,这个数据集中每个实例的输入和输出都是

14、已知的。观察训练集中 的实例 ,可以建立起预测的模型。有了这个模型 ,我们就可以新的输出未知的实例进 行预测了。衡量模型的好坏就在于预测的准确程度。在 WEKA 中 ,待预测的目标 (输出被 称作 Class属性,这应该是来自分类任务的 “类”。一般的,若 Class属性是分类型时我 们的任务才叫分类 ,Class属性是数值型时我们的任务叫回归。选择算法我们使用 C4.5 决策树算法对 bank-data建立起分类模型。我们来看原来的 “ban-kdata.csv 文”件。 “ ID属”性肯定是不需要的。由于 C4.5算法可以处理数值型的 属性,我们不用像前面用关联规则那样把每个变量都离散化成

15、分类型。尽管如此,我们还是把 “Children属”性转换成分类型的两个值 “YES”和“NO”。另 外 ,我们的训练集仅取原来数据集实例的一半 ;而从另外一半中抽出若干条作为待预 测的实例 ,它们的 “pep属”性都设为缺失值。经过了这些处理的训练集数据在这里下 载;待预测集数据在这里下载。我们用 “Explorer打”开训练集 “bank.arff 观”察,一下它是不是按照前面的要求处 理好了。切换到 “Classify选”项卡 ,点击 “Choose按”钮后可以看到很多分类或者回归 的算法分门别类的列在一个树型框里。3.5 版的 WEKA 中,树型框下方有一个 “Filter.按钮”,点

16、击可以根据数据集的特性过滤掉不合适的算法。我们数据集的输入属性中有 “Binary型”( 即只有两个 类的分类型和数值型的属性 ,而 Class变量是 “Binary的”;于是我们勾选 “Binary attributes ”“ Numeric attri和bu“tesBinary” class。 ”点“OK”后回到树形图 ,可以发现一些算法名称变红了 ,说明它们不能用。选择 “ trees下”的“ J48这”就,是我们需要的 C4.5 算法,还好它没有变红。点击 “Choose右”边的文本框 ,弹出新窗口为该算法设置各种参数。点 “More”查 看参数说明 ,点“Capabilities是查

17、”看算法适用范围。这里我们把参数保持默认。现在 来看左中的 “Test Option。”我们没有专门设置检验数据集 ,为了保证生成的模型的准 确性而不至于出现过拟合 (overfitting 的现象 ,我们有必要采用 10 折交叉验证 (10-fold cross validation来选择和评估模型。若不明白交叉验证的含义可以 Google 一下。建 模结果 OK,选上“Cros-svalidation 并”在“Folds框”填上 “10。”点“Start按”钮开始让算 法生成决策树模型。很快 ,用文本表示的一棵决策树 ,以及对这个决策树的误差分析 等等结果出现在右边的 “Classifie

18、r output中。同”时左下的 “Results list出现”了一个项 目显示刚才的时间和算法名称。如果换一个模型或者换个参数,重新“Start一”次 ,则“ Results list又会多”出一项。我们看到 “ J48算”法交叉验证的结果之一为 Correctly Classified Instances 206 68.6667 % 也就是说这个模型的准确度只有 69%左右也许我们需要对原属性进行处理 ,或者修改算法的参数来提高准确度。但这里 我们不管它 ,继续用这个模型。右键点击 “ Results list刚才”出现的那一项 ,弹出菜单中选择 “Visualize tree新窗”,

19、口里可以看到图形模式的决策树。建议把这个新窗口最大化,然后点右键 ,选“Fit toscreen ”可,以把这个树看清楚些。看完后截图或者关掉。这里我们解释一下 “Confusion Matrix的”含义。= Confusion Matrix =a b <- classified as74 64 | a = YES30 132 | b = NO这个矩阵是说 ,原本“pep是”“YES”的实例,有 74个被正确的预测为 “YES”有,64 个错误的预测成了 “NO”原;本“pep是”“NO”的实例,有 30个被错误的预测为 “YES”, 有 132 个正确的预测成了 “NO”。74+64+

20、30+132 = 300 是实例总数 ,而(74+132/300 = 0.68667正好是正确分类的实例所占比例。这个矩阵对角线上的数字越大 ,说明预测得越好。模型应用现在我们要用生成的模型对那些待预测的数据集进行预测了,注意待预测数据集和训练用数据集各个属性的设置必须是一致的。WEKA 中并没有直接提供把模型应用到带预测数据集上的方法 ,我们要采取间 接的办法。Test Opion中选”择 “ Supplied test set并且 “”S,e成t ”“ ban-knew.arff 文”件。重新“Start一”次。注意这次生成的模型没有通过交叉验证来选择 ,“Classifier outpu

21、t 给”出的误差分析也没有多少意义。这也是间接作预测带来的缺陷吧。现在 , 右键点击“Result list中刚”产生的那一项 ,选择“Visualize classifier errors。我们不”去 管新窗口中的图有什么含义 ,点“Save按”钮,把结果保存成“ban-kpredicted.arff 。这”个 ARFF 文件中就有我们需要的预测结果。在 “Explorer的”“Preproces选s 项”卡中打开 这个新文件 ,可以看到多了两个属性“Instance_numbe和r ”“predictedpep ”“ Instance_nu是m指be一r ”个实例。在原 “ ban-kne

22、w.arff 文”件中的位置, “predictedpep就是”模型预测的结果。点 “ Edit按”钮 或者在“ArffViewer模”块中打开可以查看这个数据集的内容。 比如,我们对实例 0 的 pep 预测值为“YES”, 对实例 4 的预测值为“NO”使 。用命令行(推荐)虽然 使用图形界面查看结果和设置参数很方便,但是最直接最 灵活的建模及应用的办 法仍是使用命令行。打开“Simple CLI模”块,像上面那样使用“J48算”法的命令格 式为: java weka.classifiers.trees.J48 -C 0.25 -M 2 -t directory-pathbank.arff

23、 -d directory-path bank.model 其中参数“- C 0.25 和”“-M 2”是和图形界面中所设的一样 的。“-t 后”面跟着的是训练数据集的完整路径(包括目录和文件名),“-d ”后 面跟着的是保存模型的完整路径。 注意!这里我们可以把模型保存下来。 输入上述 命令后,所得到树模型和误差分析会在 “Simple CLI上”方显示,可以复制下来保存 在文本文件里。误差是把模型应用到训练集上给出的。 把这个模型应用到 “ ban-knew.arff 所”用 命令的格式为: java weka.classifiers.trees.J48 -p 9 -l directory

24、-pathbank.model -T directory-path bank-new.arff 其中“-p 9 ”说 的是模型中 的 Class 属性是第 9 个(也就是“pep,”) “-l ”后面是模型的完整路径, “-T”后面 是待预测数据集的完整路径。 输入上述命令后,在“Simple CLI上”方会有这样一些 结果: 0 YES 0.75 ? 1 NO 0.7272727272727273 ? 2 YES 0.95 ? 3 YES 0.8813559322033898 ? 4 NO 0.8421052631578947 ? .这. 里的第一列就是我们提到过 的“ Instance_n

25、umber,”第 二列就是刚才的“predictedpep,”第 四列则是“ban-k new.arff 中”原来的“pep值”(这里都是“?缺”失值) 。第三列对预测结果的置信度 (confidence ) 。比如说对于实例 0,我们有 75%的把握说它的“pep的”值会是 “YES”, 对实例 4 我们有 84.2%的把握说它的“pep值”会是“NO”。 我们看到,使 用命令行至少有两个好处。一个是可以把模型保存下来,这样有 新的待预测数据 出现时,不用每次重新建模,直接应用保存好的模型即可。另一 个是对预测结果 给出了置信度,我们可以有选择的采纳预测结果,例如,只考虑 那些置信度在 85

26、%以上的结果。可惜,命令行仍不能保存交叉验证等方式选择过的模型,也不 能将它们应用到待预测数据上。要实现这一目的,须用到 “ KnowledgeFlow 模”块 的“ PredictionAppender。 L”ab 5.2 用 WEKA 进行关联分 析单元目标:掌握 WEKA 进行关联分析的步骤。 工作步骤:目前,WEKA 的关 联规则分析功能仅能用来作示范,不适合用来挖掘大型数 据集。我们打算对前面 的“ban-kdata ”数据作关联规则的分析。 用“Explorer打”开“ban-kdata-final.arff 后”, 切换到“Associate选”项卡。默认关联规则分析是用 Apr

27、iori 算法,我们就用这个算 法,但是点“Choose右”边的文本框修改默认的参数,弹出的窗口中点 “More”可以 看到各参数的说明。背景知识首先我们来温习一下 Apriori 的有关知识。对于一条 关联规则 L->R,我们常用支持度( Support)和置信度( Confidence)来衡量它的 重要性。规则的支持度是用来估计在一个购物篮中同时观察到 L 和 R 的概率 P(L,R,而规则的置 信度是估计购物栏中出现了 L 时也出会现 R 的条件概率 P(R|L。关联规则的目标 一般是产生支持度和置信度都较高的规则。 有几个类似的度量代替置信度来衡量 规则的关联程度,它们分别是 L

28、ift (提升度?) P(L,R/(P(LP(R Lift=1 时表示 L 和 R 独立。这个数越大,越表明 L 和: R 存在在一个购物篮中不是偶然现 象。 Leverage (不知道怎么翻译): P(L,R-P(LP(R 它和 Lift 的含义差不 多。 Leverage=0 时 L 和 R 独立, Leverage 越大 L 和 R 的关系越密切。 Conviction (更不知道译了) P(LP(!R/P(L,!R (!R :表示 R 没有发生) Conviction 也是用来 衡量 L 和 R 的独立性。从它和 lift 的关系(对 R 取反,代入 Lift 公式后求倒数) 可以看出

29、,我们也希望这个值越大越好。 值得注意的是,用 Lift 和 Leverage 作标 准时,L 和 R 是对称的, Confidence 和 Conviction 则不然。参数设置现在我们计 划挖掘出支持度在 10%到 100%之间,并且 lift 值超过 1.5 且 lift 值排在前 100 位的 那些关联规则。我们把“lowerBoundMinSupport和”“upperBoundMinSupport分”别设 为 0.1 和 1, “metricType设”为 lift, “minMetric设”为 1.5, “numRules”设为 100。 其他选项保持默认即可。 “OK”之 后在

30、“Explorer中”点击“Start开”始运行算法,在 右边窗口显示数据集摘要和挖掘结果。 下面是挖掘出来的 lift 排前 5 的规则。 Best rules found: 1. age=52_max save_act=YES current_act=YES 113 => income=43759_max 61 conf:(0.54 < lift:(4.05> lev:(0.0 45 conv:(1.85 2. income=43759_max 80 => age=52_max save_act=YES current_act=YES 61 conf:(0.76 &

31、lt; lift:(4.05> lev:(0.0 45 conv:(3.25 3. income=43759_max current_act=YES 63 => age=52_max save_act=YES 61 conf:(0.97 < lift:(3.85> lev:(0.0 45 conv:(15.72 4. age=52_max save_act=YES 151 => income=43759_max current_act=YES 61 conf:(0.4 < lift:(3.85> lev:(0.0 45 conv:(1.49 5. ag

32、e=52_max save_act=YES 151 => income=43759_max 76 conf:(0.5 < lift:(3.77> lev:(0.09 55 conv:(1.72 对于挖掘出的 每条规则, WEKA 列出了它们关联程度的四项指标。 命令行方式我们也可以利用 命令行来完成挖掘任务,在“Simlpe CLI模”块中输入如下格式的命令: java weka.associations.Apriori options -t directory-pathbank-data-final.arff 即可完成 Apriori 算法。注意, “-t”参数后的文件路径

33、中不能含有空格。 在前面我们使用的 option 为 -N 100 -T 1 -C 1.5 -D 0.05 -U 1.0 -M 0.1 -S -1.0 命令行中使用这些参数得到的结 果和前面利用 GUI 得到的一样。我们还可以加上 I” - “参数,得到不同项数的频 繁项集。我用的命令如下: java weka.associations.Apriori -N 100 -T 1 -C 1.5 -D 0.05 -U 1.0 -M 0.1 -S -1.0 -I -t d:wekabank-data-final.arff 挖掘结果在上方显示。 Lab5.3 用 WEKA 进行聚类分析单元目标:掌握 W

34、EKA 进行聚类分析的步骤。工作步骤:聚类分析中的“类”( cluster)和前面分类的“类”( class)是不 同的, cluster 对更加准确的翻译应该是“簇”。 聚类的任务是把所有的实例分配到 若干的簇,使得同一个簇的实例聚集在一个簇中心的周围,它们之间距离的比较 近;而不同簇实例之间的距离比较远。对于由数值型属性刻画的实例来说,这个 距离通常指欧氏距离。现在我们对前面的“bank data作”聚 类分析,使用最常见的 K 均值(K-means)算法。下面我们简单描述一下 K 均值聚类的步骤。 K 均值算 法首先随机的指定 K 个簇中心。然后: 1将每个实例分配到距它最近的簇中心,得 到 K 个簇; 2计分别计算各簇中所有实例的均值,把它们作为各簇新的簇中心。 重复 1和 2,直到 K 个簇中心的位置都固定,簇的分配也固定。 上述 K 均值算法只能处理数值型的属性,遇到分类型的属性时要把它变为若干个取值 0 和 1 的属 性。 WEKA 将自动实施这个分类型到数值型的变换,而且 WEKA 会自动对数值型 的数据作标准化。因此,对于原始数据“ban-kdata.csv ”, 我们所做的预处理只是删 去属性“id,” 保存为 ARFF 格式后,修改属性“children为”分类型。这样得到的数 据文件为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论