计算思维导论第14讲-数据与社会-大数据及其价值发现_第1页
计算思维导论第14讲-数据与社会-大数据及其价值发现_第2页
计算思维导论第14讲-数据与社会-大数据及其价值发现_第3页
计算思维导论第14讲-数据与社会-大数据及其价值发现_第4页
计算思维导论第14讲-数据与社会-大数据及其价值发现_第5页
已阅读5页,还剩104页未读, 继续免费阅读

下载本文档

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

文档简介

第14讲数据与社会:大数据及其价值哈尔滨工业大学计算学部教学委员会主任国家教学名师战德dechen@第14讲数据与社会:大数据及其价值一、结构化数据库语言SQL二、大数据挖掘与运用结构化数据库语言SQL回顾:关系与关系运算学生成绩单列名列值行/元组/记录(row/tuple/record)列/字段/属性/数据项(column/field/attribute/dataitem)表/关系并:RS差:RS积:RS选择:

(R)投影:(R)连接:RS交:RS查询表达式组合各种运算查询学习课程号为002的学生学号和成绩πS#,Score(

)查询学习课程号为001的学生学号、姓名πS#,Sname()查询学习课程名称为数据结构的学生学号、姓名和这门课程的成绩πS#,Sname,Score(σCname=“数据结构”(Student

SC

Course))SC

C#=“002”()

C#=“001”()StudentSCStudent

SCCourseσCname=“数据结构”(Student

SCCourse)结构化数据库语言SQL

回顾:利用关系运算进行查询?查询表达式注意连接与积的差别查询学习课程号为001的学生学号、姓名πS#,Sname()

C#=“001”()StudentSCπS#,Sname()

C#=“001”Student.S#=SC.S#()Student

SC连接条件结构化数据库语言SQL回顾:利用关系运算进行查询?数据库语言SQL

Select列名[[,列名]…]

From表名1[[,表名2],…][Where检索条件];语义:将From后面的所有表串接起来,检索出满足“检索条件”的元组,并按给定的列名及顺序进行投影显示。

列名,…,列名(

检索条件(表名1

表名2…))关系运算式结构化数据库语言SQL由关系模型到结构化数据库语言SQL已经建立好的数据库---供后面学习和训练使用结构化数据库语言SQL已经建立起的数据库Select的简单语法形式为:

Select列名[[,列名]…]

From表名[Where检索条件];语义:从<表名>所给出的表中,查询出满足<检索条件>的元组,并按给定的<列名>及顺序进行投影显示

列名,…,列名(

检索条件(表名))结构化数据库语言SQLSQL-SELECT之简单使用:基本检索操作的表达方法例如:检索学生表中所有学生的信息SelectS#,Sname,Ssex,Sage,Sclass,D#

FromStudent;Select*FromStudent;//如投影所有列,则可以用*来简写

再如:检索学生表中所有年龄小于19岁的学生的年龄及姓名SelectSage,

Sname//投影的列可以重新排定顺序

FromStudentWhereSage<19;SELECT…FROM…WHERE…结构化数据库语言SQLSQL-SELECT之简单使用:基本检索条件书写例如:求或者学过001号课程,或者学过002号课程的学生的学号SelectS#FromSCWhereC#=‘001’ORC#=‘002’;对于每一行应用Where子句的条件SELECT…FROM…WHERE…结构化数据库语言SQLSQL-SELECT之简单使用:基本检索条件书写执行下列SQL语句的结果是什么?SelectS#FromSCWhereC#=‘001’ANDC#=‘002’;AB结果为“既学过001课程又学过002课程的所有同学的学号”C结果为“空”D提交结果为“或者学过001课程或者学过002课程的所有同学的学号”结果为“所有同学的学号”单选题1分例如:在选课表中,检索成绩大于80分的所有学号SelectS#

FromSCWhereScore>80;//有重复元组出现,比如一个同学两门以上课程大于80SelectDISTINCTS#

FromSCWhereScore>80;//重复元组被DISTINCT过滤掉,只保留一份检索结果去重复:DISTINCT表(Table)和关系(Relation)在大部分情况下概念通用,但有细微差别:前者可允许有重复元组,而后者不允许结构化数据库语言SQLSQL-SELECT之简单使用:如何去掉检索结果的重复元组或记录呢?Select语句中结果排序是通过增加orderby子句实现的

orderby

列名[asc|desc]意义为结果按指定列名进行排序,若后跟asc或省略,则为升序;若后跟desc,则为降序。例如:按学号由小到大的顺序显示出所有学生的学号及姓名SelectS#,SnameFromStudentOrderByS#ASC

;再如:检索002号课大于80分的所有同学学号并按成绩由高到低顺序显示SelectS#FromSCWhereC#=‘002’andScore>80OrderByScoreDESC

;检索结果的排序SELECT…FROM…WHERE…ORDERBY…结构化数据库语言SQLSQL-SELECT之简单使用:如何对检索结果进行排序呢?比如检索“姓张的学生”,检索“张某某”,这类查询问题,Select语句是通过在检索条件中引入运算符like来表示的含有like运算符的表达式

列名[not]like“字符串”找出匹配给定字符串的字符串。其中给定字符串中可以出现%,_等匹配符.

匹配规则:

“%”匹配零个或多个字符“_”匹配任意单个字符

“

\”

转义字符,用于去掉一些特殊字符的特定含义,使其被作为普通字符看待,如用“\%”去匹配字符%,用\_去匹配字符_模糊查询结构化数据库语言SQLSQL-SELECT之简单使用:如何表达模糊性的查询内容呢?例如:检索所有姓张的学生学号及姓名SelectS#,SnameFromStudentWhereSnameLike‘张%’;

再如:检索名字为张某某的所有同学姓名SelectSnameFromStudentWhereSnameLike‘张__’;

再如:检索名字不姓张的所有同学姓名SelectSnameFromStudentWhereSnameNot

Like‘张%’;结构化数据库语言SQLSQL-SELECT之简单使用:如何表达模糊性的查询内容呢?已知关系Student(S#char(8),Snamechar(10),Ssexchar(2),Sageinteger,D#char(2),Sclasschar(6))。要检索“所有年龄小于等于19岁的学生的年龄及姓名”,SQL语句正确的是_________。SelectSnameFromStudentWhereSage<=19;ABCD提交SelectSage,SnameFromStudentWhereSage<=19;Select*FromStudentWhereSage<=19;SelectSage,SnameFromStudent;单选题1分WHERE条件中出现LIKE'_A%',下面哪一个结果是可以被检索出来的_________。BAIABCD提交AILIBBACCAE以上所有都可被检索出来单选题1分SELECT…FROM…WHERE…SELECTDISTINCT…FROM…WHERE…SELECT…FROM…WHERE…ORDERBY…SELECT…FROM…WHERE…LIKE…结构化数据库语言SQLSQL-SELECT之简单使用:小结Select的多表联合检索语句如下:

Select列名[[,列名]…]

From表名1,表名2,…

Where检索条件;相当于

列名,…,列名(

检索条件(表名1

表名2…))检索条件中要包含连接条件,通过不同的连接条件可以实现各种连接操作。结构化数据库语言SQLSQL-SELECT之多表联合操作:多表联合检索的表达方法例如:按“001”号课成绩由高到低的顺序显示出所有学生的姓名(二表连接)SelectSnameFromStudent,SCWhere

Student.S#=SC.S#andSC.C#=‘001’OrderByScoreDESC;当多表连接时,如果两个表的属性名相同,则需采用表名.属性名方式来限定该属性是属于哪一个表再如:按‘数据库’课程成绩由高到低顺序显示所有同学姓名(三表连接)SelectSnameFromStudent,SC,CourseWhere

Student.S#=SC.S#andSC.C#=Course.C#

andCname=‘数据库’OrderByScoreDESC;Student(S#,Sname,Ssex,Sage,D#,Sclass)Course(C#,Cname,Chours,Credit,T#)SC(S#,C#,Score)Dept(D#,Dname,Dean)Teacher(T#,Tname,D#,Salary)结构化数据库语言SQLSQL-SELECT之多表联合操作:多表连接条件书写连接运算涉及到重名的问题,如两个表中的属性重名,连接的两个表重名(同一表的连接)等,因此需要使用别名以便区分

select中采用别名的方式:

Select列名as列别名[[,列名as列别名]…]

From表名1as表别名1,表名2as表别名2,…

Where检索条件;

上述定义中的as可以省略当定义了别名后,在检索条件中可以使用别名来限定属性结构化数据库语言SQLSQL-SELECT之多表联合操作:表与列的别名例如:求有薪水差额的任意两位教师SelectT1.TnameasTeacher1,T2.TnameasTeacher2FromTeacherT1,TeacherT2Where

T1.Salary>T2.Salary;求年龄有差异的任意两位同学的姓名SelectS1.SnameasStud1,S2.SnameasStud2FromStudentS1,StudentS2Where

S1.Sage>S2.Sage;有时表名很长时,为书写条件简便,也定义表别名,以简化书写Student(S#,Sname,Ssex,Sage,D#,Sclass)Course(C#,Cname,Chours,Credit,T#)SC(S#,C#,Score)Dept(D#,Dname,Dean)Teacher(T#,Tname,D#,Salary)结构化数据库语言SQLSQL-SELECT之多表联合操作:表与列的别名再如:求既学过“001”号课又学过“002”号课的所有学生的学号(二表连接)SelectSC1.S#FromSCSC1,SCSC2Where

SC1.S#=SC2.S#andSC1.C#=‘C01’andSC2.C#=‘C02;再如:求“C01”号课成绩比“C02”号课成绩高的所有学生的学号(二表连接)SelectSC1.S#FromSCSC1,SCSC2Where

SC1.S#=SC2.S#andSC1.C#=‘C01’andSC2.C#=‘C02’andSC1.Score>SC2.Score;结构化数据库语言SQLSQL-SELECT之多表联合操作:表与自身的连接列出没学过李明老师讲授课程的所有同学的姓名,

如下书写SQL语句会得到正确结果吗?SelectSnameFromStudentS,SC,CourseC,TeacherTWhere

T.Tname<>‘李明’

andC.C#=SC.C# andSC.S#=S.S#andT.T#=C.T#;

能够得到正确结果AB提交不能够得到正确结果单选题1分IN子查询。其基本语法为:表达式[not]in(子查询)

语义:判断某一表达式的值是否在子查询的结果中。再例如:列出选修了001号课程的学生的学号和姓名SelectS#,SnameFromStudentWhereS#in(SelectS#FromSCWhereC#=‘001’);再例如:求既学过001号课程,又学过002号课程的学生的学号SelectS#FromSCWhereC#=‘001’andS#in(SelectS#FromSCWhereC#=‘002’);结构化数据库语言SQLSQL-SELECT之多表联合操作:嵌套子查询再例如:列出没学过李明老师讲授课程的所有同学的姓名?SelectSnameFromStudentWhereS#not

in(SelectS#FromSC,CourseC,TeacherT WhereT.Tname=‘李明’andSC.C#=C.C# andT.T#=C.T#);结构化数据库语言SQLSQL-SELECT之多表联合操作:嵌套子查询非相关子查询SelectSnameFromStudentWhereS#not

in(SelectS#

FromSC,CourseC,TeacherT WhereT.Tname=‘李明’andSC.C#=C.C# andT.T#=C.T#);内层查询独立进行,没有涉及任何外层查询相关信息的子查询被称为非相关子查询。内层查询外层查询结构化数据库语言SQLSQL-SELECT之多表联合操作:非相关子查询vs.相关子查询有时,内层查询需要依靠外层查询的某些参量作为限定条件才能进行,这样的子查询称为相关子查询。外层向内层传递的参量需要使用外层的表名或表别名来限定例如:求学过001号课程的同学的姓名

SelectSnameFromStudentStudWhereS#in(SelectS#

FromSC WhereS#=Stud.S#andC#=‘001’);

注意:相关子查询只能由外层向内层传递参数,而不能反之;这也称为变量的作用域原则相关子查询结构化数据库语言SQLSQL-SELECT之多表联合操作:非相关子查询vs.相关子查询有关系表SC(S#,C#,Score),求既学过“001”号课又学过“002”号课的所有学生的学号,下列SQL语句正确的是_________。SelectS#FromSCWhereC#=‘001’ANDC#=‘002’;ABCD提交SelectS2.S#FromSCS1,SCS2WhereS1.S#=S2.S#andS1.C#=‘001’andS2.C#=‘002;SelectS1.S#FromSCS1,SCS2WhereS1.C#=‘001’andS2.C#=‘002;SelectS1.S#FromSCS1WhereS1.C#=‘001’ANDS1.C#=‘002’;单选题1分求既学过002号课,又学过003号课的同学学号。下列SQL语句不正确的是_________。AB提交SelectS#FromSCWhereC#=‘002’ANDC#=‘003’;CSelectS#FromSCWhereC#=‘002’INTERSECTSelectS#FromSCWhereC#=‘003’;SelectS#FromSCWhereC#=‘002’andS#IN(SelectS#FromSCWhereC#=‘003’);SelectS1.S#FromSCS1,SCS2WhereS1.S#=S2.S#andS1.C#=‘002’andS2.C#=‘003;D单选题1分已知关系:Student(S#,Sname),Course(C#,Cname,T#),SC(S#,C#,Score),Teacher(T#,Tname)。阅读SQL语句,关于其查询结果,下列说法正确的是_____。SelectSnameFromStudentWhereS#NOTIN(SelectS#FromSC,CourseC,TeacherTWhereT.T#=‘李明’andSC.C#=C.C#andT.T#=C.T#);AB提交列出学全了李明老师讲授所有课程的学生姓名C列出学过李明老师讲授某一课程的学生姓名列出没学全李明老师讲授所有课程的学生姓名列出没学过李明老师讲授任一课程的学生姓名D单选题1分已知关系:Student(S#,Sname),Course(C#,Cname,T#),SC(S#,C#,Score),Teacher(T#,Tname)。阅读SQL语句,关于其查询结果,下列说法正确的是_____。SelectS#FromSCSC1WhereSC1.C#=‘C01’ANDS#IN(SelectS#FromSCSC2WhereSC2.C#=‘C02’ANDSC1.S#=SC2.S#ANDSC1.Score>SC2.Score);AB提交比C02课程成绩高的所有学生的学号CC01课程比C02课程成绩高的所有学生的学号C01同学比C02同学成绩高的所有课程的课号比C02同学C01课程成绩高的所有学生的学号D单选题1分已知SC(S#,C#,Score)关系的元组,如下所示{<S1,C1,80>,<S1,C2,90>,<S1,C3,60>,<S2,C1,75>,<S2,C2,80>,<S3,C2,85>,<S3,C3,75>,<S4,C2,80>,<S5,C3,50>,<S5,C1,85>}。关于“SELECTS#FROMSCWHEREC#=‘C1’andC#=‘C3’”,下列说法正确的是______。AB提交该查询结果为{S1,S5};C该查询结果为{S1,S2,S3,S5};该查询结果中的元组为{S1};该查询结果中的元组为{S5};DE前述都不正确;单选题1分SELECT…FROM表名1,表名2,…

WHERE…SELECT…FROM…WHERE…IN(SELECT…FROM…WHERE…)结构化数据库语言SQLSQL-SELECT之多表联合操作:小结?结果计算与聚集函数select子句可以是一些计算表达式或聚集函数,表明在选择和投影的同时直接进行一些运算

Select列名|expr|agfunc(列名)[[,列名|expr|agfunc(列名)]…]

From表名1[,表名2…][Where检索条件];

计算表达式可以是常量、列名或由常量、列名、特殊函数及算术运算符构成的算术运算式。求有差额(差额>0)的任意两位教师的薪水差额SelectT1.TnameasTR1,T2.TnameasTR2,T1.Salary–T2.Salary

FromTeacherT1,TeacherT2WhereT1.Salary>T2.Salary;

结构化数据库语言SQLSQL-SELECT之分组聚集操作:结果计算与聚集函数?

SQL提供了五个作用在简单列值集合上的内置聚集函数agfunc,分别是:COUNT、SUM、AVG、MAX、MINSQL聚集函数的参数类型、结果类型与作用如下:结构化数据库语言SQLSQL-SELECT之分组聚集操作:结果计算与聚集函数?求教师的工资总额SelectSum(Salary)FromTeacher;

求计算机系教师的工资总额SelectSum(Salary)

FromTeacherT,DeptWhereDept.Dname=‘计算机’andDept.D#=T.D#;

求数据库课程的平均成绩SelectAVG(Score)

FromCourseC,SCWhereC.Cname=‘数据库’andC.C#=SC.C#;结构化数据库语言SQLSQL-SELECT之分组聚集操作:结果计算与聚集函数?为解决同时求解若干个集合的聚集运算问题,引出了分组的概念。SQL可以将检索到的元组按照某一条件进行分类,具有相同条件值的元组划到一个组或一个集合中,这一过程就是分组过程。分组可以在基本Select语句基础上引入分组子句来完成:

Select列名|expr|agfunc(列名)[[,列名|expr|agfunc(列名)]…]

From表名1[,表名2…][Where检索条件][Groupby分组条件];

分组条件可以是

列名1,列名2,…SELECT…FROM…WHERE…GROUPBY…HAVING…ORDERBY…结构化数据库语言SQLSQL-SELECT之分组聚集操作:分组计算与聚集?例如:求每一个学生的平均成绩SelectS#,AVG(Score)FromSCGroupbyS#;再如:求每一门课程的平均成绩SelectC#,AVG(Score)FromSCGroupbyC#;GroupbyC#GroupbyS#结构化数据库语言SQLSQL-SELECT之分组聚集操作:分组计算与聚集?求不及格课程超过两门的同学的学号,下述写法正确吗?SelectS#FromSCWhereScore<60andCount(*)>2GroupbyS#;若要对分组(集合)进行条件过滤,可使用Having子句

Select列名|expr|agfunc(列名)[[,列名|expr|agfunc(列名)]…]

From表名1[,表名2…][Where检索条件][Groupby分组条件[Having分组过滤条件]];分组过滤----过滤掉分组,而不是元组结构化数据库语言SQLSQL-SELECT之分组聚集操作:分组过滤每一行都要检查满足与否的条件要用WHERE子句表达每一分组检查满足与否的条件要用Having子句表达。注意:不是每一行都检查,所以使用Having子句一定要有Groupby子句

HAVING子句与WHERE子句表达条件的区别结构化数据库语言SQLSQL-SELECT之分组聚集操作:分组过滤例如求不及格课程超过两门的同学的学号SelectS#FromSCWhereScore<60GroupbyS#HavingCount(*)>2;

再如求有10人以上不及格的课程号SelectC#FromSCWhereScore<60GroupbyC#HavingCount(*)>10;结构化数据库语言SQLSQL-SELECT之分组聚集操作:分组过滤例如:求有两门以上不及格课程的同学的学号及其平均成绩SelectS#,Avg(Score)FromSCWhereScore<60GroupbyS#HavingCount(*)>2;

上述写法正确吗?正确的如下书写,为什么呢?SelectS#,AVG(Score)FromSCWhereS#in

(SelectS#FromSC WhereScore<60 GroupbyS#HavingCount(*)>2)GroupbyS#;结构化数据库语言SQLSQL-SELECT之分组聚集操作:分组过滤已知关系:Student(S#,Sname),Course(C#,Cname,T#),SC(S#,C#,Score)。阅读SQL语句:SELECTC#FROMSCWHEREScore<60GROUPBYC#HAVINGCount(*)>2;该语句检索出的结果是_____。有2人以上不及格课程的学号ABCD提交有2门以上不及格课程的课号有2门以上不及格课程的学号有2人以上不及格课程的课号E其它选项的说法都不正确单选题1分已知关系:Student(S#,Sname),Course(C#,Cname,T#),SC(S#,C#,Score)。阅读SQL语句:SELECTS#FROMSCWHEREScore<60ANDCount(*)>2GROUPBYS#;该语句检索出的结果是_____。有2门以上不及格课程的学号ABCD提交有2门以上及格课程的学号有2人以上不及格课程的学号有2人以上及格课程的学号E其它选项的说法都不正确单选题1分SQL-SELECT的完整语法Subquery::==

SELECT[ALL|DISTINCT]{*|expr[[AS]c_alias]{,…}}

FROM

tableref{,…}[WHERE

search_condition][GROUPBY

column{,…}][HAVING

search_condition]|subquery[UNION

[ALL]|INTERSECT

[ALL]|EXCEPT

[ALL]][CORRESPONDING[BY](colname{,…})]subquery;Tableref::==tablename[corr_name]Selectstatement::==Subquery[ORDERBYresult_column[ASC|DESC]{,…}]结构化数据库语言SQLSQL-SELECT之分组聚集操作:总结第14讲数据与社会:大数据及其价值一、结构化数据库语言SQL二、大数据挖掘与运用大数据挖掘与运用炒股不看股盘,看微博,为什么?学习完本讲后再回答吧?数据挖掘,又称为数据库中知识发现,它是一个从大量数据中抽取挖掘出未知的、有价值的模式或规律等知识的复杂过程。简单地讲就是从大量数据中挖掘或抽取出知识。概要归纳关联规则挖掘分类与预测聚类分析异类分析演化分析大数据挖掘与运用什么是数据挖掘怎样挖掘呢?啤酒与尿布的故事…数据对超市经营有无帮助呢?客户购买习惯商品组合方式及策略……营销策略价格策略货源组织大数据挖掘与运用超市数据库—一个场景超市数据库大数据挖掘与运用超市数据库—一个场景数据挖掘之关联规则挖掘商品的关联规则“尿布”⇒“啤酒”

[支持度=2%,置信度=60%]

“由尿布的购买,能够推断出啤酒的购买”支持度2%意味着所分析事务的2%同时购买尿布和啤酒置信度60%意味着购买尿布的顾客60%也购买啤酒。大数据挖掘与运用什么是关联规则这样的规则能否由机器挖掘出来呢?是否相信这条规则呢?1.项、项集与事务设P

={p1,p2,...,pm

}是所有项(Item)的集合。D是数据库中所有事务的集合,其中每个事务T(Transaction)是项的集合,是P的子集,即T

P;每一个事务有一个关键字属性,称作交易号或事务号以区分数据库中的每一个事务。设A

是一个项集(ItemSet),事务T包含A当且仅当A

T。2.关联规则关联规则是形如A

B

的蕴涵式,即命题A(如“项集A的购买”)蕴涵着命题B(“如项集B的购买”),或者说由命题A能够推出命题B,其中A

P,B

P,并且A∩B=

。大数据挖掘与运用关联规则挖掘的基础概念P是超市所有商品的集合T是某一顾客一次购买的商品的集合3.支持度与置信度Support(A

B)=P(A∪B)=包含A和B的事务数

D中事务总数。

confidence(A

B)=P(B|A)=包含A和B的事务数

包含A的事务数。支持度反映一条规则的实用性,置信度反映规则的“值得信赖性”的程度4.强规则同时满足最小支持度阈值(min_s)和最小置信度阈值(min_c)的规则称作强规则。

5.k-项集与k-频繁项集项的集合称为项集,包含k个项的项集称为k-项集。项集的出现频率是包含项集的事务数,简称为项集的频率、支持计数或计数。如果项集的出现频率大于或等于min_s与D中事务总数的乘积,则项集满足最小支持度min_s。如果项集满足最小支持度,则称它为频繁项集。频繁k-项集的集合通常记作Lk。{面包,果酱}

---2-项集{面包,果酱,奶油}

---3-项集大数据挖掘与运用关联规则挖掘的基础概念由频繁项集产生强关联规则。依定义,这些规则必须满足最小支持度和最小置信度。找出所有频繁项集。依定义,这些项集出现的频率至少和预定义的最小出现频率一样。如何挖掘频繁项集?Apriori算法项K-项集支持度置信度事务/

交易K-频繁项集关联规则{面包,果酱}

---2-项集{面包,果酱,奶油}

---3-项集大数据挖掘与运用怎样进行关联规则挖掘-基本思想商品购买明细数据库大数据挖掘与运用对问题域数据进行抽象候选1项集.频繁1项集.支持度计数

最小支持度计数5

(min_sup=5/20=25%)大数据挖掘与运用形成候选1-项集,并求出频繁1-项集候选2项集.C2=L1JoinL1频繁1项集频繁2项集.支持度计数

最小支持度计数5大数据挖掘与运用形成候选2-项集,并求出频繁2-项集候选3项集.C3=L2JoinL2频繁2项集候选3项集的支持度计数频繁3项集大数据挖掘与运用形成候选3-项集,并剪枝,进一步求出频繁3-项集候选4项集---频繁4项集支持度计数>=5

频繁3项集频繁项集全集=频繁1项集

频繁2项集

频繁3项集

频繁4项集大数据挖掘与运用迭代地求出最终结果-频繁项集由频繁项集产生强关联规则。依定义,这些规则必须满足最小支持度和最小置信度。找出所有频繁项集。依定义,这些项集出现的频率至少和预定义的最小出现频率一样。项K-项集支持度置信度事务/交易K-频繁项集关联规则{面包,果酱}

---2-项集{面包,果酱,奶油}

---3-项集大数据挖掘与运用怎样进行关联规则挖掘-基本思想关联规则生成{P1,P2,P5,P6}可以产生的潜在规则A⇒B,其中A

B={P1,P2,P5,P6},A

B=

.

频繁项集关联规则大数据挖掘与运用潜在关联规则的生成并计算输出的规则表,A

B=

,“购买A能够推出购买B”.置信度>=70%的规则.

大数据挖掘与运用潜在关联规则的生成并计算组合形成规则表,频繁3项集能推出哪些频繁项集?置信度标记红色为置信度>=70%的规则.支持度标记蓝色的为满足置信度前提下的支持度>=40%的规则大数据挖掘与运用潜在关联规则的生成并计算最终输出的规则表大数据挖掘与运用最终输出的关联规则示例age(X,"30...39")∧income(X,"42K...48K")⇒buys(X,"high_resolution_TV")X代表顾客buys(X,"面包")⇒buys(X,"果酱")

单维度单层次规则多维度多层次规则大数据挖掘与运用还能挖掘什么规则大数据挖掘与运用微博数据挖掘vs.超市数据挖掘数据基本组织形式被挖掘数据D的集合事务数据T的涵义项的集合频繁项集规则“A⇒B”规则挖掘的意义“微博”挖掘文本---非结构化数据众多人、众多次:发表的微博一次发表的“微博”可以看作是“若干词汇”的集合“词汇”的集合频繁使用的“词汇”集合使用了“词汇A”也使用了“词汇”B通过分析,可发现“可以组合在一起的关键词汇”,进而进行主题词设置、读者兴趣引导,以提高某主题的关注度、粉丝的聚集度等“超市数据”挖掘“表”---结构化数据众多人、众多次:购买的商品一次购买的商品可以看作是“若干商品”的集合“商品”的集合频繁购买的“商品”集合购买了“商品A”也购买了“商品B”通过分析,可发现“可被组合在一起的商品”进而进行位置、政策等的调整,以提高客户的购买兴趣等关于炒股不看股盘看微博,你相信吗?只求关系,不求因果不要相信经验,一切以数据说话大数据环境下什么不能发生呢?大数据挖掘与运用小结第14讲数据与社会:大数据及其价值【自学&拓展】哈尔滨工业大学计算学部教学委员会主任国家教学名师战德dechen@第14讲数据与社会:大数据及其价值【自学&拓展】一、大数据及其管理和处理二、数据抽象、设计与理论

【表】形式的数据—关系数据库【表中表】形式的数据【标记-文本】形式的数据【图结构】形式的数据图像/视频形式的数据多种多样形式的数据聚集成库:由结构化数据到非结构化数据大数据及其管理和处理【用户】形式多样、灵活多变、个性化由规模化数据到大数据大数据及其管理和处理大数据(BigData):其大小超出了典型数据库软件工具捕获、存储、管理和分析能力的数据集。典型的如:社交数据:用户多、交互多。如微信、QQ等流媒体数据:本身信息量大、时间采样关联。如音视频数据物联数据等:传感数据、时间采样关联、自动产生。如工业物联网数据数据量Volume。指系统所管理的数据规模的大小。数据集的大小从TB(1012字节)或PB(1015字节)到EB(1018字节)

速度Velocity。指数据的创建、积累、接收和处理的速度。如实时数据和流数据多样化Variety。数据来源的类型急剧扩大,包括结构化、半结构化和非结构化数据真实性Veracity。真实性有两个内在的特征:来源的可信度,和数据对目标受众的适用性进入所谓大数据应用的数据具有各种各样的可信度。许多数据源生成的数据是不确定、不完整和不准确的bit&Byte1KB(Kilobyte)=210字节1MB(Megabyte)=210KB1GB(Gigabyte)=210MB1TB(Trillionbyte)=210GB=220MB1PB(Petabyte)=210TB=230MB1EB(Exabyte)=210PB=240MB1ZB(Zettabyte)=210EB=250MB1YB(Yottabyte)=210ZB=260MB1BB(Brontobyte)=210YB=270MB大数据及其管理和处理半结构化/非结构化数据库的关注点关系数据库:结构化数据、SQL语言,又被称为SQL数据库半结构化/非结构化数据库:NoSQL数据库。术语NoSQL“不仅是SQL,而不是NO-to-SQL”,许多应用程序需要传统关系SQL系统以外的系统来增强其数据管理需求。关注关系数据库解决得不好而用户又有特别需求的特征半结构化/非结构化的数据存储—如何存储使计算效率更高?分布式计算与存储—如何利用多机分布与并行提高计算效率?数据复制与可用性--数据以透明方式在两个或多个节点上进行复制,以实现连续的系统可用性。数据复制还可以提高“数据读”性能,但“数据写”性能将会降低,如何保证一致性有即时一致性、最终一致性等。可伸缩性—如何做到处理能力能够随数据量增长而增长,例如增加更多计算与存储节点,或者,扩展现有计算与存储节点的处理能力无模式。以无模式换数据存储的灵活性可扩展性。数据本身的模式是通过半结构化自描述数据来实现的。有些应用系统需要模式,有些应用系统则不需要模式。由于可能没有模式,对数据的解析则必须由应用程序编程实现。

关系数据库(按行存储数据,按列按类型区分)第一种NoSQL数据库(按“属性名:属性值”对存储数据,均为字符串数据)第二种NoSQL数据库(按文档存储数据,一行是一个文档)第二种NoSQL数据库(按文档存储数据,一行是一个文档,文档中还可能嵌入文档)与关系数据库相比,最大的优点:(1)可扩展性—可随时增加新属性列和减少属性列,而无须改变以前存储的数据。(2)无需事先定义模式,可直接操纵数据(3)并行/分布处理—可适应大规模并行/分布计算。关系数据库

键值对数据库

文档数据库大数据及其管理和处理<标记>文本</标记>“标记”:“文本”不同拓扑连接的网络站点/Site

复制/Replica大数据及其管理和处理分布式数据库的核心技术概念关系/Relation分片/Fragments

划分分配分片、复制、分配

问题(拆分与还原、分配、一致性、速度…)分布式数据库,是指分布在计算机网络上的多个逻辑相关数据库的集合。逻辑上是整体,物理上是分布的MSite1MSite2MSite3RSite1RSite2RSite3RSite4FinalSiteDocument3thethirdexample.findsecondwordthesecondexample.findfirstwordDocument2thefirstexample.findthirdwordDocument1Document3thethirdexample.findthirdwordthesecondexample.findfirstexampleDocument2thefirstexample.findfirstexampleDocument1The,1Third,1Example,1Find,1Third,1Word,1The,1Second,1Example,1Find,1First,1Example,1The,1First,1Example,1Find,1First,1Example,1The,1Third,2Example,1Find,1Word,1The,1Second,1Example,2Find,1First,1The,1First,2Example,2Find,1Example,1Example,2Example,2Example,5Find,3First,3Second,1The,3Third,2Word,1Find,1Find,1First,1Find,1First,2The,1Third,2The,1Second,1The,1Word,1Example,5Find,3First,3Second,1The,3Third,2Word,1InputSplittingMappingShufflingReducingFinalresult大数据及其管理和处理一种并行计算模型示例第14讲数据与社会:大数据及其价值【自学&拓展】一、大数据及其管理和处理二、数据抽象、设计与理论

抽象、理论和设计是计算学科的三种形态或三种过程设计--是指构造计算系统来改造世界的手段,是工程的主要内容,只有设计才能造福于人类(设计的价值)理论--是发现世界规律的手段,理论,如果不能指导设计,则是反映不出其价值的;设计,如果没有理论指导,则设计的严密性、可靠性、正确性是没有保证的(理论的价值)抽象--是感性认识世界的手段。理论和设计的前提都需要抽象,没有抽象二者都是没有办法达成目标的(抽象的价值)抽象-理论-设计概述数据抽象、设计与理论抽象-理论-设计概述抽象:指在思维中对同类事物去除其现象的次要方面,抽取其共同的主要方面,从而做到从个别中把握一般,从现象中把握本质的认知过程和思维方法。抽象:一方面是建立对客观事物进行抽象描述的方法(方法论),另一方面是要采用现有的抽象方法建立具体问题的概念模型,从而实现对客观世界的感性认识(方法论的应用)

。抽象:是现实事物的概念化。数据抽象、设计与理论科学方法论中关于“抽象”的描述怎样进行抽象?有没有抽象的技巧?抽象:是指由具体事物中发现其本质性特征和方法的过程。Quelle:Piccasso具体化抽象化抽象就是“逐渐剥离语义、逐渐去掉细节”数据抽象、设计与理论怎样进行“抽象”?抽象:区分并命名表的每一个形式要素若干具有相似性的具体的表用抽象出的概念表示的表的形式“理解

区分

命名

表达”V1V2V3V4V5属性名属性值属性元组内容模式数据抽象、设计与理论抽象就是寻找相同的形式,处理可变的内容关于抽象的可训练的技巧?与前一个示例一样吗?怎样进行抽象呢?数据抽象、设计与理论抽象就是共性中寻找差异,差异中寻找共性“理解

区分

命名

表达”二维交叉表维度--1层次/粒度-1层次/粒度-2维度--2多维度多粒度交叉表交叉格<(1季,南岗区),35000><(时间维度,地区维度),销售额><(1季2月,南岗区四分店),4000><(时间维度,地区维度),销售额>数据抽象、设计与理论抽象就是共性中寻找差异,差异中寻找共性“理解

区分

命名

表达”数据的抽象维度粒度/概念层次度量-交叉格“事实”操作的抽象下钻,上卷切片/切块转轴切片上卷下钻切片数据抽象、设计与理论抽象就是共性中寻找差异,差异中寻找共性“理解

区分

命名

表达”数据抽象、设计与理论抽象结果的表达---用设计手段表达?用数学手段表达?“理解

区分

命名

表达”注意抽象结果的不同表达途径抽象的基本特征:本质性、区分与概念记住:共性中寻找差异,差异中寻找共性----思维方法寻找相同的形式,处理可变的内容----计算学科“抽象”过程的本质理解

区分

命名

表达----计算学科“抽象”的过程理解区分命名表达抽象数据抽象、设计与理论关于【抽象】的小结

概念的抽象关系数据表的抽象待表达的问题:产品构成关系概念级抽象实现级抽象不同层面的抽象:现实世界

概念/信息世界

计算机世界逻辑世界(语义结构)物理世界(存储结构)数据抽象、设计与理论“抽象”层次?注意不同层级的抽象概念的一般性表达方法用一般性方法指导抽象关系数据表的一般性表达方法用一般性方法指导抽象抽象方法/或称方法论(抽象过程;抽象结果的表达方法)按抽象方法进行抽象数据抽象、设计与理论方法论及其应用?ModelInstanceModelInstanceModelInstance模型实例模型现实元模型数据抽象、设计与理论建模的不同层次:模型与元模型,模型(型)与实例(值)注意不同层级的抽象模型理解区分命名表达抽象层次方法论应用方法论元模型模型现实世界信息世界计算机世界数据抽象、设计与理论关于【抽象层次】的小结

设计:源于工程并用于系统或设备的开发以实现给定的任务设计:作为变革控制和利用自然界的手段,必须以对自然规律的认识为前提,可以是科学形态的认识,也可以是经验形态的认识。设计:要达到变革控制和利用自然界的目的,必须创造出相应的人工系统和人工条件,还必须认识自然规律在这些人工系统中和人工条件下的具体表现形式。设计形态具有较强的实践性、社会性和综合性。因此要记住:设计要对社会和人类有贡献,要有责任感!科学方法论中关于“设计”的描述数据抽象、设计与理论什么是设计?怎样进行设计?设计:是构建计算系统的过程,是技术、原理在计算系统中实现的过程计算机语言/协议的设计和实现是重要的“设计”形态的内容设计:语法化各种概念,便于操作及自动化抽象形态设计形态计算机语言“形式构造自动化”数据抽象、设计与理论怎样进行“设计”?解析语言并执行的系统广义的语言系统的应用数据抽象、设计与理论广义的计算机语言及其软件/硬件/网络系统是设计形态的重要内容“形式构造自动化”definecube<cube_name>[<dimension_list>]:<measure_list>definedimension<dimension_name>as(<attribute_or_subdimens

温馨提示

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

评论

0/150

提交评论