实验二 合著关系的数据挖掘

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二合著关系的数据挖掘

1.实验目的

(1)熟悉与了解数据挖掘的基本理论与方法;

(2)使用Apriori等算法进行频繁项集的挖掘;

(3)通过使用SQL Server进行原始数据的各项处理,理解和掌握数据挖掘(本实验为关联关系挖掘)的一般过程和方法,同时进行SQL Server的数据库语言以及数据挖掘的实操练习。

(4)对于数据挖掘处理大规模的数据,有初步的认知与了解。

2.实验内容

(1)导入数据到数据库中;

(2)在数据库中,对作者与文章的数据进行挖掘,找出同时出现3次及以上的合著组成频繁项集(包括两位作者以及三位作者合著的关系),并列出该频繁项集对应的记录的全部信息;

3. 实验条件

(1)操作系统:Windows 7

(2) SQL Server 2008或以上版本

(3) Excel 2003或以上版本

4. 数据来源及说明

本次实验的所有数据皆来源于,DBLP数据集,DBLP是计算机领域内对研究的成果以作者为核心的一个计算机类英文文献的集成数据库系统。按年代列出了作者的科研成果。包括国际期刊和会议等公开发表的论文。截止目前,DBLP数据集收录的数据已达900万余条。

DBLP数据集中的数据,主要有作者、题目、文章来源、发表日期、文章类型等属性,但是为了便于同学们进行挖掘操作,故而对于原始数据进行了一定程度的预处理,本来这部分工作需要同学们自己完成的,不过请同学们一定不要忽视数据预处理的重要性。

具体挖掘数据的格式,如上图所示,其中,ID为唯一标示,title为文章的名称,title相同的多条记录,表示有多名作者,author为文章的作者,rank 为文章作者的排序,rank=1,说明该作者是第一作者。因为,文章的作者不同于一般的组合,是有顺序的,所以,在挖掘的过程中,如果出现author1-author2,与author2-author1的次序出现在不同文章中,则认为两者为不同的合作模式。

5. 实验要求

(1)将excel中的原始数据导入到SQL Server中,进行数据挖掘等操作。

(2)挖掘到三位作者的合著关系为止(包括每位作者的写作次数,两位作

者合著的次数,以及三位作者合著的次数);

(3)按时、按照要求提交实验报告。

6. 实验报告

实验报告内容至少包括“2. 实验内容”所示的内容。

具体内容:

(1)列出挖掘结果,包括:合著关系结果(即频繁项集),并列出该频繁项集对应的记录的全部信息;需要通过数据库实现的步骤要有结果截

图,方法等需要有文字说明。

(2)挖掘方法、过程截图及数据库语言代码。在实验报告中,要写明挖掘的具体方法步骤,需要数据库进行操作的步骤,需要包含代码,并且

附加每一步分析的过程截图。

(3)从L3频繁集中,任选一组合著关系,按照50%的置信度,挖掘强关联规则,写出计算过程及结果。

注明:本实验各步骤的支持度,都取3/数据总量。

7. 实验步骤

7.1 安装SQL Server 2008(略去)

7.2 将excel中的原始数据导入到SQL Server 2008中

本次实验的所有数据皆来源于,DBLP数据集,DBLP是计算机领域内对研究的成果以作者为核心的一个计算机类英文文献的集成数据库系统。按年代列出了作者的科研成果。包括国际期刊和会议等公开发表的论文。截止目前,DBLP

数据集收录的数据已达900万余条。

(1)创建数据库:打开SQL Server Management Studio,进入操作界面后,右键“数据库”→“新建数据库”→“常规”→“数据库名称:”→

“确定”;

(2)将EXCEL数据导入到上述创建的数据库中:右键“数据库”→“任务”→“导入数据”→“数据源:EXCEL”→“路径”→“版本1997-2003”

→“下一步”;

(3)按照提示一步一步进行以下操作;

8. Apriori算法

(1)数据挖掘采用的是Apriori算法,该算法采用频繁项集性质的先验知识,使用一种称为逐层搜索的迭代方法,其中k项集用于搜素k+1项集。步骤如下:(2)通过扫描数据库,累计每个项的计数,并收集满足最小支持度的项,找出频繁1项集的集合,该集合记为L1。

(3)利用L1找出频繁2项集的集合L2。使用L2找出L3,如此下去,直到不能再找到频繁k项集。

9. 操作提示与建议

9.1 缩小样本数据规模

由于整个DBLP数据集的记录条数达900万条,所以即便是对数据集进行一次简单的遍历,也要进行900万次的运算,如果同时进行一些复杂的数据选择、匹配等操作的话,进行的运算次数极有可能成为几百万的N次方次运算,这对于普通的计算机来说,是无法承受,且费时费力的;因此,为了达成本次数据分析的目的,在保证数据有效性的前提下,对数据集进行适当的预处理,而减少数据总量,降低运算总时间,是必要且可行的。这部分工作,已由助教完成,但是大家依旧需要正视这项工作的重要性。

9.2 挖掘方法

(1)对于挖掘合著关系来讲,主要使用到的数据属性是作者、题目,可选的挖掘思路是,在样本数据中,使用数据库语言,将所有作者出现的次数进行统计,并设定一定的阈值,以超过此阈值的为频繁出现的作者。

(2)以上一步挖掘的独立频繁作者为基础,进一步挖掘这些独立频繁的作者中,两个作者同时出现在一篇文章中的次数。这其中,可能需要几步SQL 语言查询与操作才能实现。如:需要以文章名称相同为查询条件等。挖掘出两位作者的频繁项集之后,再以此为基础,挖掘三位合著的频繁项集,以此类推。9.3 参考步骤(只供参考,期待不同甚至更好的方法)

(1)利用group by author having count(author)>1的方法,去除一篇文章只有一位作者的记录,并且将所查询结果存入表1中。

(2)以表1中的名单为索引,索引样本表,将作者相对应的全部信息输出来,存入到表2中。

(3)将表2中的数据,全部复制到表3中,使用操作语言实现。

(4)通过表2和表3的关联查询,实现作者与作者间的两两关联,将查询结果,存入到表4中,表4中的属性可包括:ID,title,author1(来源于表2),author2(来源于表3),rank1(来源于表2),rank2(来源于表3);查询条件包括:文章题目一样,但是作者不同,并且author1的rank要小于author2的rank。(5)同样的方法,可以应用到三位作者合著频繁项集的挖掘之中,但是需要做改进以及更多条件的约束。

10. 参考书籍

Jiawei Han, Micheline Kamber, Jian Pei等著,范明,孟小峰译.数据挖掘概念与技术(原书第三版)[M].2012.

相关文档
最新文档