2013秋大学计算机第5章课件-张丽杰.ppt

上传人:小飞机 文档编号:5400816 上传时间:2023-07-03 格式:PPT 页数:91 大小:3.64MB
返回 下载 相关 举报
2013秋大学计算机第5章课件-张丽杰.ppt_第1页
第1页 / 共91页
2013秋大学计算机第5章课件-张丽杰.ppt_第2页
第2页 / 共91页
2013秋大学计算机第5章课件-张丽杰.ppt_第3页
第3页 / 共91页
2013秋大学计算机第5章课件-张丽杰.ppt_第4页
第4页 / 共91页
2013秋大学计算机第5章课件-张丽杰.ppt_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《2013秋大学计算机第5章课件-张丽杰.ppt》由会员分享,可在线阅读,更多相关《2013秋大学计算机第5章课件-张丽杰.ppt(91页珍藏版)》请在三一办公上搜索。

1、第5章 数据抽象、设计与挖掘,本章要点:1.数据与大数据以数据说话2.数据库数据聚集的手段-数据聚集的核心数据管理与数据库 3.数据仓库与数据挖掘数据分析与利用的手段4.数据抽象,即“理解区分命名表达”理论研究与系统设计的前提和必要步骤。,数据抽象是计算思维重要内容,也是实用性最大的计算技术和方法之一,有着非常广泛的应用!,第5章 数据抽象、设计与挖掘,本章主要内容提要:5.1 数据与大数据 5.2 数据聚集的核心数据管理与数据库 5.3 数据分析的核心联机数据分析与数据挖掘 5.4 抽象、理论和设计,5.1 数据与大数据,数据数据(Data):载荷或记录信息的按一定规则排列组合的物理符号。可

2、以是数字、文字、图像,也可以是计算机代码。数据之所以成为重要的生产因素,是因为其可以精确地描述事实,以量化的方式反映逻辑和理性,决策将日益基于数据和分析而作出,而并非基于经验和直觉。,In God we trust;everyone else must bring data.,5.1 数据与大数据,大数据21世纪随着互联网技术的发展,促进了互联网数据的膨胀式发展,网络世界中面向人-人互动、人-机互动等声音、图像/视频、文档大规模数据的聚集与交换,形成了所谓的“大数据(Big Data)”。物联网技术进一步使实物商品、实物资源等被感知、被联网,形成大规模的物联网数据。,5.1 数据与大数据,大数

3、据的价值发现 大数据时代最大的转变就是,放弃对因果关系的渴求,而取而代之关注相关关系。也就是说只要知道“是什么”,而不需要知道“为什么”。体现“数据价值”的示例:华尔街金融家利用电脑程序分析全球3.4亿微博账户的留言,根据民众情绪抛售股票:银行根据求职网站的岗位数量,推断就业率;投资机构搜集并分析上市企业声明,从中寻找破产的蛛丝马迹;美国总统奥巴马的竞选团队依据选民的微博,实时分析选民对总统竞选人的喜好,基于数据对竞选议题的把握,成功赢得总统大选。中国网民发动的“人肉搜索”,已成功地使若干“表哥”“表叔”“房叔”“房妹”等腐败官员落入法网。,5.1 数据与大数据,数据管理与数据分析 数据被视为

4、知识的来源、被认为是一种财富,数据收集、数据管理、数据分析的能力常常被视为核心的竞争力,和企业利益息息相关。数据聚集的核心手段是数据管理与数据库,数据分析与利用的核心手段是数据仓库与数据挖掘,而其关键是数据抽象与数据设计。以下几节将简要介绍数据聚集成“库”、大规模数据分析与利用的基本思维。,5.2 数据聚集的核心数据管理与数据库,5.2.1 数据聚集成“库”数据库及数据库管理数据是怎样被管理的呢?通常将各类数据组织成一张张表格(如下图)来进行管理。随着计算机技术的发展,这种数据管理工作被发展成一种技术,即“数据库”技术。所谓数据库(DataBase,DB),即可看作是以“表”形式组织起来的相互

5、有关联关系的数据的集合。而管理数据库的一种计算系统被称为数据库管理系统(DataBase Management System,DBMS)。,5.2 数据聚集的核心数据管理与数据库,5.2.1 数据聚集成“库”数据库及数据库管理数据库管理系统(DBMS)管理数据库的基本思路/步骤,5.2 数据聚集的核心数据管理与数据库,5.2.1 数据聚集成“库”数据库及数据库管理数据库管理系统(DBMS)管理数据库的基本思路/步骤(1)定义表的格式:DBMS提供数据定义语言(Data Definition Language,DDL)来让用户表达他要定义什么样的表,然后DBMS会按照用户的需求在系统里面建立相应

6、的表。(2)按格式操纵表中数据:DBMS提供数据操纵语言(Data Manipulation Language,DML)来供用户表达他想对数据库所进行的操作,并获取相应结果。(3)对表的使用进行控制:DBMS也是通过提供一种数据控制语言(Data Control Language,DCL)给数据库管理者,以方便其表达对数据库的安全性控制需求。然后DBMS按照管理者定义的安全性,对访问数据库的用户和程序进行控制。,5.2 数据聚集的核心数据管理与数据库,5.2.2 数据库的基本结构形式“数据表”或者称“关系”定义数据表,5.2 数据聚集的核心数据管理与数据库,5.2.2 数据库的基本结构形式“数

7、据表”或者称“关系”定义数据表(1)列(Column):也称字段(Field)、属性(Attribute)。表的每列都包含同一类型的信息,列由列名和列值两部分构成。(2)行(Row):也称元组(Tuple)或记录(Record)。表中每一行由若干个字段值组成,描述一个对象的信息。(3)表(Table):也称关系(Relation),由表名、列名及若干行数据组成。在数据库领域,这种简单结构的二维表又被称为“关系”,以表这种形式反映数据组织结构的模型被称为“关系模型”。(4)关系模式:在表中,表的结构(或格式)被称为关系模式,主要由表名和列名构成。,5.2 数据聚集的核心数据管理与数据库,5.2.

8、2 数据库的基本结构形式“数据表”或者称“关系”定义数据表(5)码:在表的各种属性中,有一个属性或属性组很重要,那就是码。(Key)也称为键,或者关键字,它是表中的某个属性或某些属性的组合,它们的值能唯一地将该表中的每一行区分开来。(6)数据库:一个表用于描述客观世界中的一件事情,对不同事情的描述则用不同结构的表,如此若干数据表的集合便形成了一个“数据库”。(7)数据表的性质:1)列是同质的;2)列的顺序可以任意交换;行的顺序可以任意交换;3)任意两个元组不能完全相同;4)表中每一数据项必须是不可再分割的数据项,即都应是按行按列管理的简单的二维表,满足此性质的表称为规范化的表或规范化的关系。,

9、5.2 数据聚集的核心数据管理与数据库,5.2.2 数据库的基本结构形式“数据表”或者称“关系”数据表的性质:规范化的表或规范化的关系。,5.2 数据聚集的核心数据管理与数据库,5.2.3 数据表的操作关系操作我们说:(1)关系/表之间是可以相互操作的,而对关系/表的操作结果仍然是关系/表。(2)有5种基本的关系操作是必须的,即数据库管理系统至少应支持:“并”、“差”、“笛卡儿积”、“选择”和“投影”等操作。(3)数据库管理系统还应支持用户通过这5种基本操作的组合来表达更为复杂的表操作。例如“交”操作和“连接”操作便可由这5种基本操作组合来实现。,5.2 数据聚集的核心数据管理与数据库,5.2

10、.3 数据表的操作关系操作,5.2 数据聚集的核心数据管理与数据库,5.2.3 数据表的操作关系操作(1)“并”操作:关系A和关系B的“并”操作的结果是由或者属于A或者属于B的元组组成的新关系。(2)“差”操作:关系A和关系B的“差”操作的结果是由属于A而不属于B的元组组成的新关系。(3)“交”操作:关系A和关系B的“交”操作的结果是由既属于A又属于B的元组组成的新关系。交操作可通过差操作的组合来实现,我们在后面介绍。,5.2 数据聚集的核心数据管理与数据库,5.2.3 数据表的操作关系操作,5.2 数据聚集的核心数据管理与数据库,5.2.3 数据表的操作关系操作(4)“选择”操作:从某个给定

11、的关系中筛选出满足一定限制条件的元组。(5)“投影”操作:从给定的关系中保留指定的属性子集而删去其余属性。“选择”操作是从某个关系中选取出满足某些条件的一个“行”的子集,而“投影”操作实际上是生成一个关系的“列”的子集。,5.2 数据聚集的核心数据管理与数据库,5.2.3 数据表的操作关系操作,5.2 数据聚集的核心数据管理与数据库,5.2.3 数据表的操作关系操作(6)“笛卡儿积”操作是对两个关系的操作。两个关系的“笛卡儿积”操作是将两个关系拼接起来的一种操作,它由一个关系的元组和另一个关系的每一个元组拼接成一个新元组,由所有这样的新元组构成的关系便是“笛卡儿积”操作的结果。,5.2 数据聚

12、集的核心数据管理与数据库,5.2.3 数据表的操作关系操作,5.2 数据聚集的核心数据管理与数据库,5.2.3 数据表的操作关系操作(7)“连接”操作是对两个关系的拼接操作,但不同于“笛卡儿积”操作,“连接”操作是将两个关系中满足一定条件的元组拼接成一个新元组,这个条件便是所谓的连接条件。日常使用中,“连接”操作通常指“自然连接”操作,即要求两个关系的同名属性其值相同的情况下,才能将两个关系的元组拼接成一个新元组。连接操作可以由两个关系先做笛卡尔积操作,再做选择操作,然后做投影操作来实现。,5.2 数据聚集的核心数据管理与数据库,5.2.4 用数学定义数据表及其操作关系模型定义5-1 域(Do

13、main):域(Domain)是一组具有相同的数据类型的值的集合。定义5-2 笛卡儿积:给定一组域D1,D2,Dn,这些域中可能有相同的。D1,D2,Dn的笛卡儿积为:D1 D2 Dn=di Di,i=1,2,n其中每一个元素被称作一个 n 元组(n-tuple)或简称元组(tuple)。元素中的每一个值di 被称作一个分量(Component)。若Di(i=1,2,n)为有限集合,其基数(Cardinal number),即集合中元素的个数,为mi(i=1,2,n),则D1 D2 Dn 的基数M为:M=m1m2 mn。,5.2 数据聚集的核心数据管理与数据库,5.2.4 用数学定义数据表及其

14、操作关系模型定义5-3 关系:D1 D2 Dn 的子集叫作在域D1,D2,Dn 上的关系。表示为:R(D1,D2,Dn)这里R表示关系的名字,n是关系的目或度(Degree)。关系中的每个元素是关系中的元组,通常用t表示。当n=1时为单元关系,当n=2时为二元关系。关系是笛卡儿积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。n目关系必有n个属性。若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为关键字或码(Key)。若一个关系有多个码,则选定其中一个为主码(Primar

15、y Key)。,5.2 数据聚集的核心数据管理与数据库,5.2.4 用数学定义数据表及其操作关系模型例:D1 男人集合(MAN)李基,张鹏,王华 D2女人集合(WOMAN)王芳,刘玉,张颖 则D1,D2的笛卡儿积D1D2为所有男人与所有女人的所有可能的组合:,关系“家庭”=,是由一个男人和一个女人组成家庭的那些组合构成的,上述二维数据表被称为“关系”,关系是所有可能组合中那些有某种“关系”含义的组合。,5.2 数据聚集的核心数据管理与数据库,5.2.4 用数学定义数据表及其操作关系模型定义了关系/表,我们可进一步将各种操作以严格的集合运算的形式定义出来。(1)并(Union):设R,S为并相容

16、的关系。所谓并相容是指两个关系具有相同数量的属性,且相应属性的取值来自于相同的域,t为元组,下同。则有:R S=t|tR tS 上式说明:R S或者由R中的元组,或者由S中的元组组成。(2)差(Difference):设R,S为并相容的关系,则有:R S=t|tR tS 上式说明:R S是由R中的元组但不是S中的元组所组成。,5.2 数据聚集的核心数据管理与数据库,5.2.4 用数学定义数据表及其操作关系模型(3)笛卡儿积(Cartesian Product):设R是 n 度关系,S是 m 度关系,则 R S 为 n+m 度关系,则有:RS=|R S 简记为:RS=t|t=t(n)R t(m)

17、S 上式说明:R S是:将R中的每一个元组和S中的每一个元组拼接成一个新元组,所有可能组合的新元组的集合。,5.2 数据聚集的核心数据管理与数据库,5.2.4 用数学定义数据表及其操作关系模型(4)投影(Projection):关系R上的投影是从R中选出若干属性列组成新的关系。记作:上式说明:投影操作是将R的元组的分量,按照tj1,tj2,tjm的排列顺序重新排列后所形成的新元组的集合。(5)选择(Selection)F(R)=t|tR F(t)=真 其中,F是命题公式,由运算符连接的常量、分量标号或其他命题公式组成。即由:(1)常量、分量标号;(2)算术运算符:、=、;(3)逻辑运算符:(A

18、nd)、(Or)、(Not),5.2 数据聚集的核心数据管理与数据库,5.2.4 用数学定义数据表及其操作关系模型(6)交(Intersection)R S=t|tR tS 前面说过,交操作可以由其他操作组合来完成,即有性质“RS=R(RS)”,读者可自己证明该性质的正确性。(7)-连接(-Join)R(-Join for i j)S=t|t=t(n)R t(m)S ti(n)tj(m)=True,其中t(n)表示R的元组,t(m)表示S的元组,ti(n)表示元组t(n)的第i个属性 如前所述,连接操作也可以由其他操作组合来实现,即有性质R(-Join for i j)S=i n+j(R S)

19、,读者可自己证明该性质的正确性,5.2 数据聚集的核心数据管理与数据库,5.2.4 用数学定义数据表及其操作关系模型(8)自然连接(Join)R(Join)S=t|t=t(n)R t(m)S ti1(n)tj1(m)=True tik(n)tjk(m)=True,其中t(n)表示R的元组,t(m)表示S的元组,ti1(n)表示元组t(n)的第i1个属性,t(n)的第ig个属性与t(m)的第jg个属性相同(g=1,k),t(m)为t(m)去掉与t(n)相重复的属性tj1(m),tjk(m)后形成的新元组,5.2 数据聚集的核心数据管理与数据库,5.2.4 用数学定义数据表及其操作关系模型,【例5

20、.1】检索学过“王一唯”老师讲授课程的所有学生的姓名。【例5.2】检索“程序设计”课程成绩大于80分的所有学生的姓名及其成绩。,5.2 数据聚集的核心数据管理与数据库,5.2.4 用数学定义数据表及其操作关系模型【例5.1】检索学过“王一唯”老师讲授课程的所有学生的姓名。分析:学生的姓名在“学生”表中,而教师姓名在“课程”表中,学生选课情况记录在“选课”表中,因此该查询首先需要将这三个表连接起来,我们可选择笛卡儿积操作后的选择操作然后再做投影以实现上述查询,如下所示。姓名(开课教师=王一唯)(学生.学号=选课.学号 and 课程.课号=选课.课号)(学生 选课 课程);例5.1,5.2 数据聚

21、集的核心数据管理与数据库,5.2.4 用数学定义数据表及其操作关系模型【例5.2】检索“程序设计”课程成绩大于80分的所有学生的姓名及其成绩。分析:学生的姓名在“学生”表中,而课程名在“课程”表中,学生成绩情况记录在“选课”表中,因此该查询首先需要将这三个表连接起来,我们可选择笛卡儿积操作后的选择操作然后再做投影以实现上述查询,如下所示。姓名,成绩(选课.成绩80 and 课程.课名=程序设计)(学生.学号=选课.学号 and 课程.课号=选课.课号(学生 选课 课程);例5.2,5.2 数据聚集的核心数据管理与数据库,5.2.5 用计算机语言表达数据表及其操作数据库语言数据库研究者依据关系模

22、型设计了一种类似英语的结构化的数据库语言SQL(Structural Query Language)语言数据库语言应包括:(1)数据定义语言DDL(定义表的格式)(2)数据操纵语言DML(操纵表中的数据)(3)数据控制语言DCL(控制表中数据可以被哪些用户使用),5.2 数据聚集的核心数据管理与数据库,5.2.5 用计算机语言表达数据表及其操作数据库语言1.数据表“查询”:SELECT 列名1,列名2,FROM 表名1,表名2,WHERE 条件;【例5.3(前例5.1)】检索学过“王一唯”老师讲授课程的所有学生的姓名。【例5.4(前例5.2)】检索“程序设计”课程成绩大于80分的所有学生的姓名

23、及其成绩。【例5.5】列出“软件”专业所有学生的学号和姓名。,SELECT 姓名 FROM 学生,选课,课程 WHERE 学生.学号=选课.学号 and 课程.课号=选课.课号 and 课程.开课教师=“王一唯”;,SELECT 学号,姓名 FROM 学生 WHERE 专业软件;,SELECT 姓名,成绩 FROM 学生,选课,课程 WHERE 学生.学号=选课.学号 and 课程.课号=选课.课号 and 课程.课名=“程序设计”and 选课.成绩80;,5.2 数据聚集的核心数据管理与数据库,5.2.5 用计算机语言表达数据表及其操作数据库语言1.数据表“查询”:【例5.6】列出或者学过“

24、1002”号课程或者学过“2002”号课程的所有学生的学号。【例5.7】求选修了“1001”号课程,而且成绩或者大于80分或者小于60分的学生学号及其成绩。【例5.8】列出“程序设计”课程是哪些专业的必修课。,SELECT 学号 FROM 选课 WHERE 课号=1002 OR 课号=2002;,SELECT 学号,成绩 FROM 选课 WHERE 课号1001 and(成绩80 or 成绩60);,SELECT 必修专业 FROM 课程,必修课 WHERE 课程.课号=必修课.课号 and 课名=程序设计;,5.2 数据聚集的核心数据管理与数据库,5.2.5 用计算机语言表达数据表及其操作数

25、据库语言1.数据表“查询”:【例5.9】列出选修“汇编语言”的所有学生的学号及成绩。,SELECT 学号,成绩 FROM 选课 WHERE 课号 IN(SELECT 课号 FROM 课程 WHERE 课名=汇编语言);,5.2 数据聚集的核心数据管理与数据库,5.2.5 用计算机语言表达数据表及其操作数据库语言1.数据表“查询”:【例5.10】求既学过“1001”号课,又学过“2002”号课的所有学生的学号。采用嵌套查询可以书写为:,SELECT 学号 FROM 选课 WHERE 课号1001 and 学号 IN(SELECT 学号 FROM 选课 WHERE 课号2002);,SELECT

26、学号 FROM 选课 WHERE 课号=1002 AND 课号=2002;,注意:上述查询不可写成下述形式,因为下述写法的查询结果为空:,5.2 数据聚集的核心数据管理与数据库,5.2.5 用计算机语言表达数据表及其操作数据库语言1.数据表“查询”:标准SQL语言对SELECT语句的扩展为,提供了5种常用的聚集函数:MIN()求(字符、日期、数值列)的最小值 MAX()求(字符、日期、数值列)的最大值 COUNT()计算所选数据的行数 SUM()计算数值列的总和 AVG 计算数值列的平均值,5.2 数据聚集的核心数据管理与数据库,5.2.5 用计算机语言表达数据表及其操作数据库语言1.数据表“

27、查询”:此外扩展了 GROUP BY子句用于对统计操作进行分组:先对查询结果进行分组,然后于每一个分组中执行相应的聚集运算。,5.2 数据聚集的核心数据管理与数据库,5.2.5 用计算机语言表达数据表及其操作数据库语言1.数据表“查询”:此外扩展了 GROUP BY子句用于对统计操作进行分组:先对查询结果进行分组,然后于每一个分组中执行相应的聚集运算。【例5.11】列出各门课的平均成绩、最高成绩、最低成绩和选课人数。,SELECT 课号,AVG(成绩),MAX(成绩),MIN(成绩),COUNT(学号)FROM 选课 GROUP BY 课号;,5.2 数据聚集的核心数据管理与数据库,5.2.5

28、 用计算机语言表达数据表及其操作数据库语言1.数据表“查询”:【例5.12】查询“软件”专业的学生人数。2.数据表“定义”CREATE TABLE 表名(列名1 类型i1,列名2 类型i2,.);NUMBER(n,d):数字型,n最大数字位数(含小数点),d小数点后最大位数CHAR(n):字符型,n最大字符数目DATE:日期型LONG:长字符型。【例5.13】定义“学生”表:学生(学号,姓名,年级,专业)。,SELECT COUNT(*)FROM 学生 WHERE 专业=软件;,CREATE TABLE 学生(学号 number(6),姓名 char(8),年级 number(2),专业 ch

29、ar(20);,5.2 数据聚集的核心数据管理与数据库,5.2.6 数据库语言的执行或者数据表操作的自动实现DBMSDBMS将按照用户的表达建立数据库、操纵数据库数据,或者对数据库中数据进行各种形式的查询等。以SELECT语句为例:SELECT 列名1,列名2,FROM 表1,表2,WHERE 条件;DBMS自动地将其转化为:列名1,列名2,(条件(表1表2.)处理思路:(1)首先将FROM子句后面所给出的各个表进行笛卡尔积操作(拼接组合起来),得到中间结果后;(2)再按WHERE子句中的条件对中间结果进行过滤,留下满足条件的记录;(3)最后再按SELECT子句的列名及其排列次序对结果列进行选

30、择并重新编排列的次序。,5.2 数据聚集的核心数据管理与数据库,5.2.6 数据库语言的执行或者数据表操作的自动实现DBMS因此,我们只要给出基本的关系操作(并、差、笛卡尔积、选择和投影)的实现算法,并通过组合这些算法便可实现任何SELECT查询语句。以下为两个关系R和S的笛卡尔积操作的逻辑实现算法(基本思想):For i=1 to R 的记录数 读取R的i-th记录;For j=1 to S 的记录数 读取S的j-th记录;将R的第i-th记录和S的第j-th记录拼接成一条记录;存入结果关系;Next jNext i,(略)5.3 数据分析的核心联机数据分析与数据挖掘,数据库与数据库管理系统

31、,可实现数据的有效聚集与管理,但数据聚集与管理的目的是为了更好地利用数据。如何利用数据,如何将数据转换成生产力呢?利用数据可有多种方式,最基本的是通过各种形式分析数据,以及通过数据分析挖掘蕴涵在数据中的知识并将其应用到生产经营的各种活动中。,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.1 数据分析与数据挖掘的例子:超市数据库,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.1 一个例子:超市数据库,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.1 一个例子:超市数据库列出2013年4月8日每个分店的销售总额。SELECT 分店名,SUM(总金额)FROM 商品购买单,分

32、店,员工 WHERE 员工.员工号=商品购买单.收款员号 AND 员工.所在分店=分店.分店号 AND 日期=04/08/2013 GROUP BY 分店号;再例如:列出2013年4月8日食品类商品的销售总额。SELECT SUM(总金额)FROM 商品购买单,商品购买单明细,商品 WHERE 商品购买单.交易号=商品购买单明细.交易号 AND 商品购买单明细.商品号=商品.商品号 AND 商品.大类=食品 AND 日期=04/08/2013;,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.2 超市数据分析方法二维交叉表,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.2 超市数

33、据分析方法二维交叉表(1)“交叉表”是一种分析用的二维形式的表格,水平和垂直各表示一个分析维度-即观察数据的不同的角度(2)水平维度与垂直维度交叉所形成的交叉点(又称交叉格)表征关于数据的一个度量即对数据关于水平维度和垂直维度的一个计算值。如:表征了格式(或者说型)含义为的一个度量。(3)“概念层次”:度量的不同颗粒度(4)表征多维度数据,如在时间维度、地区维度基础上进一步区分“商品”维度。(5)更为复杂的情况可采用数据仓库和联机数据分析技术进行处理,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.3 数据仓库与联机数据分析由二维到多维数据分析(1)数据方体由二维交叉表,到三维及多维数据

34、分析多个维度数据的格式(或者说型)可记为:,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.3 数据仓库与联机数据分析由二维到多维数据分析(2)数据方体的操作 下钻操作:由粗颗粒度度量进一步细化到细颗粒度度量的操作 上卷操作:由细颗粒度的度量汇集到粗颗粒度的度量的操作 切片和切块操作:切片操作是指在给定的数据方体的一个维度上进行选择;切块操作通过对两个或多个维度执行选择,定义子方体。转轴操作:又称旋转,是一种目视操作,它转动数据的视角,提供数据的替代表示。即将数据方体的哪一个面的数据呈现给读者,或者说转轴是将多维数据方体投影成若干个二维数据,每次展现一个给读者。,5.3 数据分析的核心联

35、机数据分析与数据挖掘,5.3.3 数据仓库与联机数据分析由二维到多维数据分析(3)数据仓库与联机数据分析OLAP1.简单说,数据仓库是以多维的“数据方体”形式组织、处理和展现的数据的集合,宽松而言,数据仓库也是一个数据库。但它与前面介绍的关系数据库是有所区别的。2.数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合。“面向主题的”是指数据仓库围绕一些主题或关注点“集成的”是指数据仓库中数据可能来自于不同的数据库,将不同来源的数据进行有效的集成。“时变的”是指数据仓库中包含了大量的历史信息,因此其结构中隐式或显式地包含时间元素。“非易失的”是指数据仓库中的数据也是需要保存的,物理地与其相

36、关的数据库进行分离存储。,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.3 数据仓库与联机数据分析由二维到多维数据分析(3)数据仓库与联机数据分析OLAP3.联机分析处理(OLAPOn Line Analysis&Processing),是一种用于各种粒度的多维数据分析技术,通过从多个角度、多个侧面、多个层次来分析数据仓库中的数据,有助于正确的高效的决策。数据仓库和OLAP使用一种多维数据模型。该模型将前面的交叉表形式的数据组织成“数据方体”形式。通过提供多维数据视图和多维操作对数据进行汇总、计算和展现。,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.3 数据仓库与联机数据分析

37、由二维到多维数据分析(4)数据仓库与联机数据分析如何定义数据方体使用数据仓库语言(DMQL)进行数据方体定义。DMQL需要定义“方体”和“维度”。1.DMQL的方体定义语句的语法形式:define cube:即需要声明构成该方体的各个维度以及各个维度的交叉格“度量”。2.DMQL的维度定义语句具有如下语法形式:define dimension as()即维度需要指明该维度所对应的维表中的属性或子维度列表。【例5.14】图5.10的数据方体可用DMQL 定义如下:define cube 销售数据方体 地区,时间,商品:销售额=sum(金额)define dimension 时间 as(时间标识,

38、日,月,季,年)define dimension 商品 as(商品号,商品名,细类,大类)define dimension 地区 as(地区标识,分店,区县),5.3 数据分析的核心联机数据分析与数据挖掘,5.3.3 数据仓库与联机数据分析由二维到多维数据分析(5)数据仓库与联机数据分析如何实现数据方体的操作 粗粒度的交叉表可由细粒度的交叉表的数据聚集得到,而最细粒度的交叉表数据则直接由数据库依据分组和聚集得到,即经由SQL语句得到。如SELECT MONTH(日期)as 月份,分店号,SUM(总金额)as 销售额FROM 商品购买单,商品购买单明细,商品,分店,员工 WHERE 商品购买单.

39、交易号=商品购买单明细.交易号 AND 商品购买单明细.商品号=商品.商品号 AND 商品.大类=食品 AND 员工.员工号商品购买单.收款员号AND 员工.所在分店分店.分店号AND YEAR(日期)=2013 GROUPBY MONTH(日期),分店号;,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.4 数据也是生产力数据挖掘(1)如何从数据库或者数据仓库中挖掘更有用的数据?1.“关联规则挖掘”对于“超市数据库”,能否通过日复一日的“商品销售明细”数据,发现顾客一次性购买的不同商品之间的联系,分析顾客的购买习惯呢?例如“什么商品组合或集合,顾客多半会在一次购物时同时购买?”。通过分

40、析商品组合被顾客购买的频繁程度,可以发现商品的一些“关联规则”,这种关联规则的发现可以帮助超市管理者制定营销策略。关联规则的形式表示。例如,购买“面包”时,也趋向于同时购买“果酱”,则可以用以下关联规则表示:“面包”“果酱”支持度=2%,置信度=60%上述规则说明“由面包的购买,能够推断出果酱的购买”,后面的支持度和置信度是衡量该规则有用性和确定性的两个变量。,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.4 数据也是生产力数据挖掘(2)例子涉及的几个基本概念1.项、项集与事务2.关联规则 3.支持度与置信度 support(A B)=P(A B)=包含A和B的事务数 D中事务总数。c

41、onfidence(A B)=P(B|A)=包含A和B的事务数 包含A的事务数。4.强规则 5.k-项集与k-频繁项集 6.关联规则的挖掘可分两大步来进行1)找出所有频繁项集:依定义,这些项集出现的频率至少和预定义的最小出现频率一样。2)由频繁项集产生强关联规则:依定义,这些规则必须满足最小支持度和最小置信度。,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.4 数据也是生产力数据挖掘(3)由事务数据库挖掘关联规则一个算法及其挖掘示例问题:“如何由事务数据库寻找频繁项集?”和“如何由频繁项集产生强关联规则?”1.经典算法Apriori主要用于解决查找频繁项集2.强关联规则产生算法由频繁项

42、集产生强关联规则 3.示例:“超市数据库”用Apriori算法发现“超市数据库”中的频繁项集 强关联规则产生算法:使用频繁项集产生强关联规则,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.4 数据也是生产力数据挖掘(3)由事务数据库挖掘关联规则一个算法及其挖掘示例1.Apriori 算法:使用候选项集找频繁项集。Apriori 使用一种称作逐层搜索的迭代方法,k-项集用于探索(k+1)-项集。首先,找出频繁1-项集的集合。该集合记作L1。L1 用于找频繁2-项集的集合L2,而L2 用于找L3,如此下去,直到不能找到频繁k-项集。为提高频繁项集逐层产生的效率,一种称作Apriori性质的

43、重要性质用于压缩搜索空间。Apriori 性质:频繁项集的所有非空子集都必须也是频繁的。,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.4 数据也是生产力数据挖掘(3)由事务数据库挖掘关联规则一个算法及其挖掘示例1.Apriori 算法:使用候选项集找频繁项集。应用Apriori性质于算法的两步过程:连接步和剪枝步。1)连接步 为找Lk,通过Lk-1 与其自身做连接操作产生候选k-项集的集合。该候选项集的集合记作Ck。设l1 和l2 是Lk-1 中的项集。记号lij表示li 的第j 项(例如,l1k-2表示l1 的倒数第3 项)。为方便计,假定事务或项集中的项按字典次序排序。执行连接L

44、k-1(JOIN)Lk-1;其中,Lk-1 的元素是可连接的,如果它们前(k-2)个项相同;即Lk-1 的元素l1 和l2 是可连接的,如果(l1 1=l2 1)(l1 2=l2 2).(l1 k-2=l2 k-2)(l1 k-1 l2 k-1)。条件(l1 k-1 l2 k-1)是简单地保证不产生重复。连接l1 和l2 产生的结果项集是l1 1,l1 2,.l1 k-1,l2 k-1。,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.4 数据也是生产力数据挖掘(3)由事务数据库挖掘关联规则一个算法及其挖掘示例1.Apriori 算法:使用候选项集找频繁项集。应用Apriori性质于算法

45、的两步过程:连接步和剪枝步。2)剪枝步Ck 是Lk 的超集;即它的成员可以是,也可以不是频繁的,但所有的频繁k-项集都包含在Ck 中。扫描数据库,确定Ck 中每个候选的计数,从而确定Lk(即根据定义,计数值不小于最小支持度计数的所有候选是频繁的,从而属于Lk)。然而,Ck 可能很大,这样所涉及的计算量就很大。为压缩Ck,可以用以下办法使用Apriori 性质:任何非频繁的(k-1)-项集都不可能是频繁k-项集的子集。因此,如果一个候选k-项集的(k-1)-子集不在Lk-1 中,则该候选也不可能是频繁的,从而可以由Ck 中删除。,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.4 数据也是

46、生产力数据挖掘(3)由事务数据库挖掘关联规则一个算法及其挖掘示例 示例:用Apriori算法发现“超市数据库”中的频繁项集,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.4 数据也是生产力数据挖掘(3)由事务数据库挖掘关联规则一个算法及其挖掘示例 示例:用Apriori算法发现“超市数据库”中的频繁项集,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.4 数据也是生产力数据挖掘(3)由事务数据库挖掘关联规则一个算法及其挖掘示例2.由频繁项集产生强关联规则 1)对于每个频繁项集l,产生l 的所有非空子集。2)对于l 的每个非空子集s,如果confidence(s l-s)=min_

47、c,则输出规则“s(l-s)”。,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.4 数据也是生产力数据挖掘(3)由事务数据库挖掘关联规则一个算法及其挖掘示例2.频繁项集产生强关联规则示例:以频繁4-项集P1,P2,P5,P6为例将频繁项集中的任何一个k,拆成两个部分A、B,满足AB=k;将所有的A、B找出形成潜在的规则(AB),然后依据前述公式计算其置信度。,5.3 数据分析的核心联机数据分析与数据挖掘,5.3.4 数据也是生产力-数据挖掘(4)还能挖掘什么样的规则?1.根据规则中所处理值的类型:布尔关联规则 量化关联规则,例如:age(X,30.39)income(X,42K.48K

48、)buys(X,high _ resolution _ TV),5.3 数据分析的核心联机数据分析与数据挖掘,5.3.4 数据也是生产力-数据挖掘(4)还能挖掘什么样的规则?2.根据规则中涉及的数据维度:关联规则中的项或属性每个只涉及一个维,则它是单维关联规则。如:buys(X,面包)buys(X,果酱)规则涉及两个或多个维,如维度“购买(buys)”,维度“时间(Time)”和维度“客户(Customer)”,则它是多维关联规则。如:age(X,30.39)income(X,42K.48K)buys(X,high _ resolution _ TV),5.3 数据分析的核心联机数据分析与数据

49、挖掘,5.3.4 数据也是生产力-数据挖掘(4)还能挖掘什么样的规则?3.根据规则集所涉及的概念层次:有些挖掘关联规则的方法可以在不同的抽象层次发现规则。例如,假定挖掘的关联规则集包含下面规则:age(X,”30.39”)buys(X,”laptop computer”)age(X,”30.39”)buys(X,”computer”),5.3 数据分析的核心联机数据分析与数据挖掘,5.3.4 数据也是生产力-数据挖掘(5)还能从哪些形式数据中挖掘?除了可以对以“表”形式管理的数据进行挖掘外,还可以对其他形式的数据进行挖掘,如:基于文本的微博数据。,5.3 数据分析的核心联机数据分析与数据挖掘,

50、5.3.4 数据也是生产力-数据挖掘(6)“以数据说话”随着数据挖掘技术的发展,可挖掘的形式和内容越来越丰富通过对数据进行关联规则的挖掘分析、分类与聚类分析、新颖性或局外性分析等。数据的聚集与数据的挖掘,使得商务变得更加智能,也使得社会变得更加智能。一个经常被提及的数据挖掘结果是“尿布与啤酒”沃尔玛超市数据挖掘的结果,尿布与啤酒是风马牛不相干的两件商品,但它们组合购买的情况却比较多,为什么?不需要知道为什么,只要相信数据即可。也就是说,在很多情况下,可以无需追究因果关系或者说不依赖于因果关系推理,而只需知道“它们是有关系的”即可。,(1)抽象-理论-设计概述(2)“抽象”:理解区分命名表达(3

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号