好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

方1052-数据仓库与数据挖掘 实验报告.doc

14页
  • 卖家[上传人]:飞***
  • 文档编号:3492479
  • 上传时间:2017-08-06
  • 文档格式:DOC
  • 文档大小:396KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1石家庄铁道大学四方学院学 生 实 验 报 告 书实验课程名称 数据仓库与数据挖掘 学生专业班级 方 1052 信管 学 生 学 号 学 生 姓 名 指导老师姓名 刘桂贤 2013- 2014 学年 第 1 学期2实验项目名称 数据仓库的设计、实现及多维分析实验成绩 实验日期 2013 年 9 月 21日第一部分:实验分析与设计一、实验内容描述问题描述:此实验为设计型实验,选择一种数据仓库管理系统,如 SQL Server Analysis Manager 进行数据仓库的设计、实现,并进行多维数据分析二、实验基本原理与设计数据仓库(多维数据模型)Analysis ServerETLSQL Server 2000 数据库DTS数据源学生信息管理系统、文本文件、电子表格三、主要仪器设备及软件环境Windows xpSQL Server 200011第二部分:实验调试与结果分析一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)如何向多维数据集添加度量值:度量值是要进行分析的数据库中的量化值。

      常用的度量值为销售、成本和预算数据度量值根据多维数据集不同的维度类别进行分析 1. 在多维数据集向导的“欢迎”步骤,单击“下一步”按钮 2. 在“从数据源中选择事实数据表”步骤,展开“教程”数据源,然后单击“sales_fact_1998” 3. 单击“浏览数据”按钮可以查看“sales_fact_1998”表中的数据数据浏览完毕后,关闭“浏览数据”窗口,然后单击“下一步”按钮 4. 若要定义多维数据集的度量值,在“事实数据表数据列”下,双击“store_sales”对“store_cost”和“unit_sales”列重复此步骤,然后单击“下一步”按钮 二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)运行结果为:第一步, 建立系统数据源连接第二步, 启动 Analysis Manager12第三步, 建立数据库和数据源13第四步建立多维数据集1、如何建立时间维度142、如何建立产品维度3、如何建立客户维度4、如何生成商店维度5、完成多维数据集的生成 156、设计存储和处理多维数据集7、浏览多维数据集数据(1)使用多维数据集浏览器查看多维数据集数据16(2)替换网格中的维度(3)按时间筛选数据5(4)深化5三、实验小结、建议及体会基于“学生成绩分析”主题数据仓库多维模型的建立, 能很好地满足高校老师和学生对学生成绩信息进行快速查询以及分析的需要, 为更多其他主题数据仓库的建立奠定了基础。

      然而各主题数据仓库的建立,只是一个开始,我们下一步工作将是在建立好的数据仓库基础上进行数据挖掘, 进一步去发现隐藏在这些学生成绩信息数据中更加有用的知识、规律和模式,使之为学校学生成绩分析工作服务将数据仓库技术应用到学生信息管理中,使我了解了数据仓库的应用以及如何创建数据仓库5实验项目名称 Apriori 算法实验成绩 实验日期 2013 年 9 月 28日第一部分:实验分析与设计一、实验内容描述(问题域描述)此实验为综合型实验,要求学生综合利用先修课程高级程序设计语言、数据库、算法设计与分析,与本门数据挖掘课程的知识,选择一种编程工具,如 Visual C++,实现经典挖掘算法 Apriori 或算法 k-Means二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)Apriori 算法是一种最有影响的挖掘布尔关联规则频繁项集的算法算法基于这样的事实:算法使用频繁项集性质的先验知识Apriori 使用一种称作逐层搜索的迭代方法, k-项集用于探索( k+1)-项集首先,找出频繁 1-项集的集合该集合记作 L1 L1 用于找频繁 2-项集的集合 L2,而 L2 用于找 L3,如此下去,直到不能找到频繁 k-项集。

      找每个 Lk 需要一次数据库扫描为了提高频繁项目集逐层产生的效率,Apriori 算法利用了两个重要的性质用于压缩搜索空间:(l)若 X 是频繁项集,则 x 的所有子集都是频繁项集2)若 x 是非频繁项集,则 X 的所有超集都是非频繁项集2.2 算法描述:算法: Apriori 算法,使用逐层迭代找出频繁项集输入:事务数据库 D;最小支持度阈值 min_sup输出:D 中的频繁项集 L1) L1 = find_frequent_1_itemsets(D) ;2) for (k = 2; Lk-1 ≠ ; k++) {3) Ck = aproiri_gen(Lk-1,min_sup) ;4) for each transaction t D{ //scan D for count5) Ct = subset(Ck,t) ; //get subsets of t that are candidates6) for each candidate c Ct7) c.count++;8) }9) Lk={c Ck | c.count ≥ min_sup}10) }11) return L = ∪kLk;从事务数据库 D 中挖掘出所有频繁项集。

      支持度大于最小支持度 min_sup 的项集Itemset 称为频集 Frequent Itemset首先需要挖掘出频繁 1-项集;然后,继续采用递推的方式来挖掘频繁 k-项集(k>1) ,具体做法是:在挖掘出候选频繁 k-项集(Ck)之后,根据最小置信度 minSup 来筛选,得到频繁 k-项集最后合并全部的频繁 k-项集(k>0) 挖掘频繁项集的算法描述如下:(1) L1 = find_frequent_1-itemsets(D); // 挖掘频繁 1-项集,比较容易(2) for (k=2;Lk-1 ≠Φ ;k++) {5(3) Ck = apriori_gen(Lk-1 ,min_sup); // 调用 apriori_gen 方法生成候选频繁 k-项集(4) for each transaction t ∈ D { // 扫描事务数据库 D(5) Ct = subset(Ck,t);(6) for each candidate c ∈ Ct(7) c.count++; // 统计候选频繁 k-项集的计数(8) }(9) Lk ={c ∈ Ck|c.count≥min_sup} // 满足最小支持度的 k-项集即为频繁 k-项集(10) }(11) return L= ∪ k Lk; // 合并频繁 k-项集(k>0)基于第 1 步挖掘到的频繁项集,继续挖掘出全部的频繁关联规则。

      置信度大于给定最小置信度 minConf 的关联规则称为频繁关联规则 Frequent Association Rule在这一步,首先需要从频繁项集入手,首先挖掘出全部的关联规则(或者称候选关联规则) ,然后根据minConf 来得到频繁关联规则挖掘频繁关联规则的算法描述如下:(1) 初始状态 : L = ∪ k Lk; AR = Φ; // L 是频繁项集集合,AR 是频繁关联规则集合(2) for all λk (λk 是 L 的元素,是一个 k-频繁项集,大小为 n){(3) for all αk (αk 是 λk 的非空真子集){(4)if(αk → βm 的置信度>= minConf) { // 这里,m + k = n,其中 αk → βm 是一个关联规则(5) AR = AR ∪ (αk → βm);(6) }(7) }(8) }(9) return AR;三、主要仪器设备及软件环境Windows xpC++ 6.055第二部分:实验调试与结果分析一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)TID ItemsT1 I1,I3,I4T2 I2,I3,I5T3 I1,I2,I3,I5T4 I2,I5首先统计出一维项目集,即:C1.这里预定义最小支持度 minsupport=2,侯选项目集中满足最小支持度要求的项目集组合成最大的 1-itemsets.为生成最大的 2-itemsets,使用了 sc_candidate 函数中 join 步,即: L1joinL1,并通过 prune 步删除那些 C2 的那些子集不在 L1 中的项目集.生成了侯选项目集 C2.搜索 D 中 4 个事务,统计 C2 中每个侯选项目集的支持度.然后和最小支持度比较,生成 L2.侯选项目集 C3 是由 L2 生成.要求自连接的两个最大 2-itemsets 中,第一个项目相同,在L2 中满足该条件的有{I2,I3},{I2,I5}.这两个集合经过 join 步后, 产生集合{I2,I3,I5}.在 prune 步中,测试{I2,I3,I5}的子集{I3,I5},{I2,I3},{I2,I5}是否在 L2 中,由 L2 可以知道{I3,I5},{I2,I3},{I2,I5}本身就是最大 2-itemsets.即{I2,I3,I5}的子集都是最大项目集.那么{I2,I3,I5}为侯选 3-itemset.然后搜索数据库中所有事务记录,生成最大的 3-tiemsets L3. 此时, 从L3 中不能再生成侯选 4-itemset .Apriori 算法结束.二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)先输入数据集的各项数据,运行结果为:55三、实验小结、建议及体会通过实验,我了解了 Apriori 算法的基本思想和编程方法,但是在编写的过程中发现了问题,就是 Apriori 算法效率不是很高,在每一步产生侯选项目集时循环产生的组合过多,没有排除不应该参与组合的元素;每次计算项集的支持度时,都对数据库 D 中的全部记录进行了一遍扫描比较,如果是一个大型的数据库的话,这种扫描比较会大大增加计算机系统的 I/O开销。

      而这种代价是随着数据库的记录的增加呈现出几何级数的增加。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.