原创作品,出自 “晓风残月xj” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/xiaofengcanyuexj)。
由于各种原因,可能存在诸多不足,欢迎斧正!
本科毕业论文(设计)
摘 要
数据挖掘又称知识发现,是指从海量数据中发掘知识,有着广阔的应用前景。然而,当面对地学数据时,即使是现有的相对成熟的模型,也存在着性能与效果方面的缺陷。究其原因,主要是因为地学数据的固有特点:高维、非结构化、多关联性等,在数据模型、索引结构、存储方式、挖掘知识表达等方面,远比传统数据复杂。
通常意义的地学数据有栅格、矢量等,本文注重处理栅格数据。Tobler地理学第一定理告诉我们:一切事物都与其他事物相关,但是距离近的比远的相关性更强。本文针对地学数据的空间相关性特点,通过R树建立空间索引,以空间同位模式挖掘算法为指导思想,通过栅格扫描方法物化空间对象间的空间邻近关系,产生事务的概念,从而将空间同位模式挖掘转化成传统的关联规则挖掘,然后利用常用关联规则处理某类地学数据,寻找感兴趣的关联规则。
利用模拟程序生成的地学数据实验,在实验过程中,发现利用R树建立索引可以明显加快生成空间事务集的速度,同时,选用较为经典的Apriori算法和FP-growth算法对比性能,结果显示FP-growth算法比Apriori算法快很多,分析原因主要在Apriori算法需要产生大量的候选项集。着重考虑大数据量情景下的数据模型、索引结构和算法实现的性能。本文的主要工作如下:
(1)为了加快邻域的寻找,选择建立R树空间索引,在此基础上总结了常用空间索引技术的适用场景和优缺点。
(2)在分析传统关联规则挖掘算法与空间关联规则挖掘算法的基础上,对基于事件中心模型的空间同位模式挖掘算法进行描述,同时提出基于栅格扫描的同位规则挖掘算法,该算法通过扫描以某个栅格为中心的R-邻域栅格产生事务集,将地学数据挖掘转化成传统数据挖掘算法。
(3)在空间索引R树的插入过程中,为了防止插入叶子节点后需要分裂,从而导致递归的向上一直分裂破坏单向遍历,提出在寻找插入位置的过程中如遇到满节点即记录数为M(M为每个节点最多插入记录数)的节点,就先进行分裂从而避免之后层层向上递归分裂,加快R树插入效率。
(4)在预处理产生的空间事务集的基础上,实现Apriori算法和FP-growth算法两种经典的关联规则挖掘算法,对比分析性能。
关键词:数据挖掘,空间索引,关联规则,同位模式
The Research And Implementation Of Data Mining For Geological Data
ABSTRACT
Data mining and knowledge discovery, refers to discover knowledge from huge amounts of data, has a broad application prospect.When faced with geological data, however, even the relatively mature existing models, there are defects performance and effect.Investigate its reason, mainly because of the inherent characteristics of geological data, high dimension, unstructured, more relevance, etc., in the data model, indexing structure knowledge representation, storage, mining, etc., is far more complicated than the traditional data.
The geological data of the usual have raster, vector and so on, this paper pays attention to raster data processing.Tobler theorem tells us: geography everything associated with other things, but closer than far stronger correlation.Spatial correlation characteristics of geological data, the author of this paper, by establishing a spatial index R tree with spatial pattern mining algorithms as the guiding ideology, through the raster scanning method materialized space object space between adjacent relationship, transaction concept, thus the space with a pattern mining into the traditional association rules mining, and then take advantage of commonly used association rules to deal with some kind of geological data, to find association rules of interest.
Using the simulation program to generate the geological data of the experiment, in the process of experiment, found a way to use R tree indexing can significantly speed up the generating spatial transaction set, at the same time, choose the more classic Apriori algorithm and FP - growth algorithm contrast performance, results show that the FP - growth algorithm is much faster than the Apriori algorithm, analyses the main reasons why the Apriori algorithm to generate a large number of candidate itemsets.In this paper, the main work is as follows:
(1) In order to speed up the neighborhood search, choose to establish R tree spatial index, on the basis of summarizing the common scenarios to apply spatial indexing technology and the advantages and disadvantages.
(2) Based on the analysis of traditional association rule mining algorithm and spatial association rule mining algorithm on the basis of the model based on event center space with pattern mining algorithm was described, and puts forward with a rule mining algorithm based on raster scanning, the algorithm by scanning for the center with a grid of R - neighborhood affairs set grid, will study data mining into the traditional data mining algorithm.
(3) In the process of spatial index R tree insert, in order to prevent insertion to split after the leaf node, leading to a recursive has been split up destroy the one-way traverse, is put forward in the process of looking for insert position that records if full node number is M (M number) for each node up to insert nodes, first to divide to avoid after layers of recursive splitting up, speed up the R tree insertion efficiency.
(4) On the basis of spatial transaction set preprocessing, realize the Apriori algorithm and FP-growth algorithm two kinds of classic association rule mining algorithm, performance contrast analysis.
Key Words: Data Mining, Spatial Index, Association Rule, Co-location Rule
目 录
第一章 绪论 1
§1.1研究背景 1
§1.2选题意义 1
§1.3研究现状 2
1.3.1空间索引技术的研究现状 2
1.3.2关联规则技术的研究现状 3
1.3.3关联规则在地学数据处理的研究现状 4
§1.4本文工作 5
§1.5全文结构 5
第二章 同位模式基本理论 7
§2.1概述 7
§2.2 R树索引的基本理论 7
2.2.1索引基本原理 7
2.2.2空间索引方法 8
2.2.3 R树介绍 9
§2.3关联规则的理论介绍 11
2.3.1关联规则基本理论 11
2.3.2关联规则常用方法 12
§2.4本章小结 14
第三章 基于栅格扫描的同位模式 15
§3.1概述 15
§3.2传统关联规则的不足 15
§3.3同位模式原理提出 16
§3.4基于栅格扫描的同位模式 17
§3.5本章小结 18
第四章 算法实现与实验分析 19
§4.1概述 19
§4.2代码实现 19
4.2.1 R树索引实现 19
4.2.2基于栅格扫描的同位规则实现 22
§4.3实验结果分析 23
4.3.1平台与数据 23
4.3.2结果分析 24
§4.4本章小结 42
第五章 总结与展望 43
§5.1总结 43
§5.2展望 43
致 谢 45
参考文献 46
第一章 绪论
§1.1研究背景
上世纪末期,我国著名科技人李德仁院士第一次提出从GIS中发掘知识的理念,并且初步论证了空间数据挖掘的特点和方法。地学数据是空间数据的一个重要组成部分,有着极其广泛的研究意义。数据收集技术等在GIS、遥感、交通运输、环境、生态、天文等领域的广泛应用导致空间数据逐年大批量增加,目前,遥感、测绘、地探等多种应用产生了大量的地学数据。这些数据包含空间对象本身的特征和空间对象之间的距离关系、坐标关系等,仅靠传统的数据分析手段很难从中获取真正有价值的信息;为了能够有效准确地发现隐藏在海量地学数据背后的具有决策价值的知识,地学数据挖掘技术产生了。
地理空间数据挖掘是GIS技术的崭新领域,有着被认可的应用场景。但由于空间数据的数据量大、数据类型复杂等,导致空间数据挖掘在各方面仍有很多问题,等待着较深一步的研究和实践。数据挖掘又称知识发现,一般指从海量数据中发掘知识,有着广阔的应用前景,是近些年人工智能和大数据领域的研究热点。在一大批学者地努力工作下,数据挖掘技术取得了长足的发展。目前常用的数据挖掘方法主要有关联规则、分类和预测、聚类分析、离群点检测和分析等,它们从不同的切面对数据进行挖掘,提取知识。然而,当面对地学数据时,即使是现有的相对成熟的模型,也存在着在性能与效果方面的问题。究其原因,主要是因为地学数据的固有特点:高维、非结构化、多关联性等,在数据模型、索引结构、存储方式、挖掘知识表达等方面,远比传统数据复杂。所谓地学数据挖掘,是指从地学数据中发现用户感兴趣的知识表达形式。地学数据挖掘就是指从地学数据中发掘知识,从而造福全人类。
§1.2选题意义
宏观上,遥感、物探、卫星采集了海量的地学数据;微观上,电子显微镜又为我们呈现了一个放大的微观世界。这些数据中蕴藏着大自然的规律,是一座正待被开采的宝藏。数据挖掘技术从海量数据中发掘知识,在很多领域已经有很好的应用,然而,当它面对地学数据时,即使是成熟的数据挖掘算法,亦面临众多挑战。主要原因在于地学数据的高维、非结构化、多关联性等特点,在数据模型、索引结构、存储方式、挖掘知识表达等方面,远比传统数据复杂。
本题目尝试面向一类地学数据(比如基础地理数据、生态环境数据、资源环境监测数据),实现一类数据挖掘算法(比如关联规则、聚类等)。着重考虑大数据量情景下的数据模型(栅格或矢量)、索引结构和算法实现的性能。通常意义的地学数据有栅格、矢量等,本文注重处理栅格数据。根据Tobler地理学第一定理:空间内一切事物都与其他事物相关,但距离近的比远的相关性更强。本文针对地学数据的空间相关性特点,通过R树建立空间索引,以空间同位模式挖掘算法的思想为基础,通过平面扫描方法物化空间对象间的空间邻近关系,产生事务的概念,从而将空间同位模式挖掘转化成传统的关联规则挖掘,然后利用常用关联规则的Apriori算法、FP-growth算法处理某类地学数据。
§1.3研究现状
本节从空间索引技术、关联规则技术、关联规则在地学数据处理等的研究现状三个方面说明了作者的一些认识与想法。
1.3.1空间索引技术的研究现状
索引,由日本引入的外来语,在英语中索引是index。我国的智者在很早就有着索引的思想,那时称为“检目”、“通检”、“韵编”等。公元1642年明代的《两汉书姓名韵》是我国有史料记载的最早的一部索引专著。在计算机时代尤其是人们逐步进入大数据时代的今天,索引技术依然换发生机与活力。索引可以加快检索速度,放弃盲目暴力的枚举遍历,改为有针对性的对数据进行筛选检索,这是一个质的提高。处理地学数据面临的一个严峻问题就是如何有效地检索空间数据。
由于空间数据客观存在的特点,在实际选择建立索引的过程当中,二叉树、B树、B+树还有ISAM索引、哈希索引等往往不能够保留空间对象基于坐标位置的关系。目前较为常用的空间索引技术有:网格索引、四叉树索引和R树相关索引。最早研究空间索引可追溯到1974年提出了四叉树,主要存储空点多维点;1975年提出了K—D树,对于精确的点匹配查找;80年代学者将KD树与B树结合,提出K—D—B树;之后又提出了MKD树、SKD树,这些都是KD树的变种。R树是1984年提出的,R树是B树在空间数据维度上的扩展,是基于MBR(最小矩形覆盖)的高度平衡的。R树的主要问题是非叶子节点MBR的大量重叠会导致查找路径的不唯一,从而严重影响其性能。R*树对R树的分裂规则进行了一些改进,主要体现在以下两点:第一,提出了重新插入的思想;第二,当节点需要分裂操作时,分裂策略不仅要考虑分裂后两个新节点的面积,还要考虑分裂后节点周长、重叠面积等要素。R+树解决了R树中节点空间之间互相重叠的问题,从而保证查询时沿着一条路径搜索。这些R树的变种虽有效的改进了R树在某些方面的不足,但增加了算法的复杂度。
图1.1 空间索引发展过程
1.3.2关联规则技术的研究现状
关联规则旨在发现一个数据集中项与项之间的依赖关系,也称之为购物蓝分析。关于关联规则最著名的就是"尿布和啤酒"的故事。美国沃尔玛连锁超市发现一个特别有趣的现象:尿布与啤酒这两种摆在一起,二者稍量大幅增加。这是一直被商家所津津乐道的发生在的真实案例。原来,美国的妇女通常在家照顾孩子,所以她们会嘱咐丈夫在下班回家的路上为孩子买尿布,而丈夫在买尿布的同时又会顺手购买自己爱喝的啤酒。
1993年Agrawal等提出了挖掘顾客交易数据库中项集间的关联规则问题(1),在此研究之上1994年又提出了经典的Apriori算法,标志着关联规则作为数据挖掘技术的一部分渐渐被学者所注意。
关联规则挖掘过程主要包含两个阶段:
(1)根据给定的最小项集支持度,从数据集中找出全部的频繁项集;
(2)根据最小置信度,由已知频繁项集产生感兴趣的关联规则。
学者在关联规则领域做了大量有效的研究工作,目前主要的方向有:分布并行式挖掘算法、增量式挖掘算法、多循环方式挖掘算法、多值关联规则的挖掘算法、多层关联规则的挖掘算法、基于概念格的关联规则挖掘算法(2);同时,关联规则的规则完备性,兴趣度及其度量尺度,知识表达等也得到了深入研究;在处理不同类型的数据时关联规则出现很多新的扩展:如子结构挖掘、序列模式挖掘,时序模式挖掘等。
图1.2 关联规则研究现状
在近二十年来,用来处理地学数据的GIS技术得到了广泛应用,地学数据的存储、检索、管理、查询、显示,特别是空间分析功能得到了飞速发展。然而这些一般都以可视化操作为主要手段,比如缓存处理、几何处理、统计学处理等,而对隐含在空间数据中的知识即地学数据挖掘等方面仍然比较薄弱,如多个空间对象的伴生与共存问题等。由于空间数据较之传统领域的数据较为复杂,地学数据挖掘需要地探技术、计算几何以及数据挖掘等多种技术的支持,这要求研究人员采用新的理论方法和技术手段来处理空间数据。
地学关联规则是将一个或多个地学对象与其它地学对象相关联。目前这方面的研究主要包括两类:一类是没有整体考虑空间分布关系的关联规则的挖掘研究;另一类是考虑空间关系的空间关联规则挖掘研究,目前这类研究尚处在初期,在空间关系和非空间关系的结合上还有很多问题需要进一步的探索。对于空间数据集,事务可以简单理解为是一组空间谓词和非空间谓词的集合,空间关联规则旨在描述在一个事务中谓词之间同时存在的知识模式(3)。
Tobler的地理学第一定理揭示了这样一种客观存在的空间关系:空间内所有的事物都是有联系的,每个地方发生的事件总是与它附近发生的事件存在某些关联,并且相距近的事物之间的联系一般比相距远的要密切(4)。传统领域关联规则频繁项集的搜索域在整个事务库,而地学数据可以依据Tobler的地理学第一定理来缩小搜索域,一方面可以加快频繁项集的寻找速度,另一方面也可以提高频繁项集的质量。面向地学数据的关联规则的主要步骤如下:
(1)根据查询要求查找相关的空间数据;
(2)利用邻域原则描述空间数据属性;
(3)根据最小支持度阈值过滤不频繁的项集;
(4)运用相关技术对数据进一步处理;
(5)生成满足条件的关联规则。
随着地学数据挖掘理论的不断发展,地学数据挖掘技术在应用中取得了令人瞩目的成绩,但在研究和应用方面依然存在一些问题。当前面临的主要挑战是:地学数据的海量规模、地学数据的多维性、地学数据的空间关联性等,当传统关联规则算法处理地学数据时在性能上存在很大不足(5)。
本文主要对面向地学数据的关联规则技术进行了梳理。
首先简要概括了面向地学数据的数据挖掘的研究背景,接着对空间索引技术、传统领域关联规则技术的研究现状以及发展进行了介绍,接着分析了地学数据与传统领域数据关联规则挖掘的不同之处:地学数据的特点:高维、非结构化、多关联性等。然后总结基于栅格扫描的同位模式挖掘的相关技术,如空间索引结构-R树的基本原理,关联规则的理论基础等,通过预处理在空间数据集上产生事务的概念,就可以将通常意义上的关联规则技术应用与处理地学数据,最后重点讨论了Apriori算法、FP-growth算法的性能。
然后指出了传统关联规则挖掘算法在处理空间数据时的不足:一个主要差异表现在空间数据集没有事务的概念;为了解决此问题,依据Tobler地理学第一定理,引入同位模式原理。针对目前同位模式算法较为复杂且大量重复搜索领域,提出基于栅格扫描的同位模式挖掘算法,通过预处理产生事务的概念,从而转化成传统关联规则挖掘问题。
最后,由于本次选题是应用方向,所以重点介绍了一些技术实现以及相关优化细节。为了提高预处理性能,建立了空间索引R树这一数据结构;为了避免插入记录时双向遍历,借鉴B树的处理思想,在单向寻找插入位置时就分裂已经为满的节点。此外,在编程语言上选择C++,因为C++是面向对象的,同时C++的效率比其他OO语言要高很多,整个工程除去注释自写代码2500+行。
§1.5全文结构
本论文的结构安排如下:第一章 绪论:简要概括了面向地学数据的数据挖掘的研究背景,接着对空间索引技术、传统领域关联规则技术的研究现状以及发展进行了介绍。
第二章 同位模式基本理论:介绍了本文基于栅格扫描的同位模式实现的相关理论基础。
第三章 基于栅格扫描的同位模式:通过分析面向地学的关联规则与传统领域关联规则的不同,阐述了处理地学数据类型时传统关联规则面临的挑战,进而引出本文主要讨论的空间同位模式算法,作为空间同位模式的一种,实验选用的是基于栅格扫描的同位模式挖掘算法。
第四章 算法实现与实验分析:具体介绍了基于栅格扫描的同位模式挖掘算法实现时用到的一些主要技术关键点和优化细节,然后简要的对实验结果进行了分析,论证了算法的可行性。
第五章 总结与展望:指出了本文的主要工作以及存在的不足之处。
第二章 同位模式基本理论
§2.1概述
随着地学数据采集技术的成熟,通常GIS系统储存和处理着海量数据,传统的索引机制不能直接移植去处理地学数据中的空间对象的查询,而是需要使用高效的可以使用在多维空间数据的空间索引技术。依据R树建立索引,遵循空间的相关性原理,基于栅格扫描的空间同位模式预处理地学数据,然后利用传统关联规则中经典的Apriori算法、FP-growth算法处理地学数据,对比性能。
§2.2 R树索引的基本理论
2.2.1索引基本原理在进行数据查找时,我们都希望在保证结果集不受影响的情况下尽可能提高速度。最基本的查找规则是顺序查找逐个遍历,此过程时间复杂度为O(n);在数据量很大时就会变得很慢,为了避免逐个枚举,下面两种算法思想被引入:
(1)基于排序的算法
折半查找、二叉树查找、B树系列等算法,这些要求数据本身是有序的。 在有序的基本条件下,有目标的查找,即先以有序集合中的某个中间节点元素T为比较对象:如果待查找的元素小于该元素T,则将集合缩小为左半部分;否则为右半部分。每次查找都能将区间近似缩小为原集合的一半,伪码如下:
binarySearch(data,[]array,left,right)
{
if left>right
没有找到;
mid=(left+right)>>1;
if array[mid]==data
找到data在array的位置;
else if data<array[mid]
在左半部分递归查找,binarySearch(data,array,left,mid-1);
else
在右半部分递归查找,binarySearch(data,array,mid+1,right);
}
可以显著减少查找次数,进而大幅提高效率;但是先决条件是集合中数据元素必须是实现排序的。(2)基于哈希的算法
哈希查找的基本思想是变按内容查找为按地址查找。一般情况下需要构造哈希表,然后在哈希表上根据特定内容和地址的映射规则定位。核心思想为:给定待查找关键字,利用哈希函数和哈希冲突函数计算哈希地址,定位到待查找元素。下面是算法步骤:
(1)哈希函数和哈希冲突函数构造哈希表;
(3)利用哈希函数和哈希冲突函数按地址查找。
空间索引是对存储在内存或磁盘上的空间数据位置给予的描述信息,用来快速的存取空间数据。空间索引的基本思想就是将全局空间通过一定原则划分成不同的子区域,然后以一定优先级在这些局部区域中查找空间对象(6)。传统的如B +树索引,是一维索引,不能用于二维和多维空间数据中处理的空间数据,必须发展用于空间数据的索引技术。迄今为止人们提出了四叉树、网格、KD树和KDB树、BSP树、R树等空间索引,其中主要常用的空间索引技术是R树系列(7)。
这些索引在应用中一方面体现出各自的优点,另一方面又暴露出各自的不足之处,后来很多人在其基础上进行了一些改进,R树的改进有R+树、R*树等,网格索引的改进有固定网格索引、层次网格索引、自适应网格索引等,也有将多种索引结合在一起形成的集多种索引技术性能优势于一体的混合索引,如空间网格与R树类结合的混合索引机制。基于对空间索引技术的了解,引用下表加以概括。
表2.1 空间索引技术汇总(8)
由此可知,各类索引技术虽然在处理某种类型的数据方面有其优点,但对于其他数据也表现出自身的缺点;目前,在不同的应用领域面对不同的数据,还不存在一种通用的空间索引技术。
R树是常用索引数据结构B树的在高维上的变种,主要是为解决多维数据查询。R树是高度平衡的树状数据结构,能保证根节点到所有记录所在的叶节点的深度相同。R树是基于MBR(Minimal Bounding Rectangle)的,MBR翻译为中文为最小边界矩形:即包围某一区域内所有空间元素(点、线、面等)的最小矩形,边界可以重复。这里的MBR主要解决二维空间的,如果是超过二维的k维空间,则这里的MBR不是最小边界矩形,而是最小边界k维体。
(1)除非是非根节点,否则叶子节点拥有m至M个记录;如果根节点恰好是叶子节点,那么记录个数可以少于m;
(2)对于在叶子节点中的记录,I是可以在空间中完全覆盖它们的最小矩形;
(3)除非是根节点,否则非叶子节点拥有m至M个孩子节点;
(4)对于在非叶子节点上的记录,I是可以在空间中完全覆盖它们的最小矩形;
(5)所有叶子节点都位于同一深度。
上述m和M的值可以视情况而定,一般设为M=m*2。
下面给予R树的一个实例图:
图2.1 R树MBR图
建立R树的树状结构如下:
图2.2 R树结构展示
§2.3关联规则的理论介绍
2.3.1关联规则基本理论
不同的应用场景对不同数据类型的知识敏感,所以数据挖掘包含很多内容,常见的有:关联规则、分类和预测、聚类、神经网络、离群点检测和分析等。可见,关联规则属于数据挖掘的主要范畴之一,是从海量数据中找到自己感兴趣的依赖关系。关联规则是从海量数据中提取规律、发现知识。关联规则主要考虑的不是数据自身的属性,而是事务集中某种组合项集同时出现的特性。在这个IT到DT的转型时期,由于Web应用的高速发展,Web用户产生的数据被不断保存、传感器也在不断收集数据,以及移动互联网大潮的到来,数据收集、存储的容量在不断增加,全世界的数据在不断膨胀,以至于海量一词诞生。挖掘数据的前提是有数据,有数据还要有技术,这样数据就成了宝贵的矿藏,有着很强的挖掘价值。关联规则挖掘就是寻找海量数据中某类用户感兴趣的频繁项集。
下面是关联规则的一些基本概念:
(1)事务库(transaction database):存储所有的记录集,定义为T;
(2)项目(item):事务集中的记录,定义为i;
(3)项集(item set):项目的集合,如{i1,i2}、{i1,i2,i4}等。通常规定item set中item的个数成为item set的长度,如含有k个item的item set成为K-item set,即K项集,定义为I;
(4)事务(transaction):某类项目的集合,如{i1,i2,i3},定义为t;
(5)支持度(support):项集I在事务集T中出现的次数事务总次数的比例,项集支持度即项集出现的频率;
(6)频繁项集(frequent item set):如果某个项集的支持度满足某个预先设定的阈值,就称为频繁项集。这个预先规定的阈值被叫做项集最小支持度,记为supmin;
(7)置信度:指既包含了X又包含了Y的事务出现的次数占包含了X的事务的比例(9)。
由式,我们有
同时满足最小支持度和最小置信度的规则,称之为强规则。关联规则就是在给定的事务集中寻找支持度和可信度都大于事先设定阈值的规则,本质就是寻找强规则。
关联规则的本质就是挖掘强规则,在这个挖掘强规则的过程中,最小支持度、最小置信度是重要的筛选因子。下面是关联规则挖掘的两个主要阶段:
(1)根据给定的最小支持度supmin,从事务集中找出全部的频繁项集;
(2)根据最小可信度supcon,由已知频繁项集中生成感兴趣的关联规则。
不同类型的数据集可以发现不同类型的关联规则。若将关联规则根据所挖掘的模式类型分类,一般可以是频繁项集挖掘、序列模式挖掘、结构模式挖掘。频繁项集挖掘是从事务集中挖掘不分次序的频繁项集;序列模式挖掘是从数据集中搜索有序频繁子序列;结构模式挖掘则是在结构化数据中搜索频繁子结构,这类挖掘的一个典型应用就是地学数据挖掘,地学数据常用的结构化数据是点、矢量、栅格等(10)。本文讨论的重点就是通过空间索引R树将结构模式挖掘转化成一般的频繁项集挖掘。对比关联规则挖掘的两个主要阶段,可以发现主要的挑战在第一阶段,即根据给定的最小项集支持度,从数据集中找出所有的频繁项集。
下面谈谈本次试验选取的两种关联规则技术:Apriori算法和FP-growth算法。
2.3.2.1 Apriori算法
在1994年Agrawal提出的Apriori算法,是关联规则系列算法中的最简单经典的算法,主要适用于单层布尔型的频繁模式挖掘关联规则(11)。层次算法的思想就是该算法的闪光之处,这是典型的迭代算法,针对不同的数据类型学者在此基础上又提出了许多改进算法。
(1)扫描事务集T求出每个1项集的支持度,即得到频繁1项集的集合;
(2)循环计算频繁k项集。
(2.1)连接:由两个有且只有一个项不同的k-1频繁项集连接得出k频繁项集的候选集;
(2.2)剪枝:上述得出的是k频繁项集的候选集,需要对候选集k中的k-1项子集进行判断。若k-1子集不是频繁项集,则直接剔除掉;
(3)扫描计算所得的频繁项集,依据给出的置信度等筛选条件确定感兴趣的关联规则。
上述步骤中的连接和剪枝称为Apriori-gen,在连接过程中,把两个频繁k-2连接生成候选项集,减少了计算量;在剪枝过程中,若候选k项集中某个k-1项集为不是频繁k-1项集,则直接剔除掉,也提高了算法的效率。但是,Apriori算法要迭代任意长度,即每一个长度都生成候选项集。Apriori算法有一个致命缺陷:大量的候选项集的产生,可能造成组合爆炸现象。
2.3.2.2 FP-growth算法
为了回避计算候选集产生的组合爆炸问题,J.Han等提出一种无需产生候选频繁项集的算法:频繁模式增长算法,即FP-growth算法。FP-growth算法的核心思想是分治,在经过第一次遍历处理后,用数据中的项集生成一棵频繁模式树(FP-tree),同时保留蕴含的关联信息,接着将FP-tree抽象条件集,每个条件和一个长度为l的频集相关,然后对这个条件集进一步进行挖掘,当数据量很大的时,可以利用划分技术,保证内存可以装得下FP-tree。实验结果显示,FP-growth具有较为不错的伸缩性,即对各种长度事务集上的关联规则都有很好的自适应能力,同时在性能上较之Apiori算法有显著提升。
FP-growth算法是不生成候选集的方法,主要基于这样的数据结构:一棵FP-tree和一个项头表,每个项通过一个节点链指向它在树中出现的位置,项头表需要按照支持度递减排序。
FP-growth (FP-tree, α)
{
if FP-tree 只含单个路径P Then{ (1)
for 路径P中结点的每个组合(记作β) (2)
产生模式βUα,其支持度MinSupport =β 中结点的最小支持度;
}
else{
for eachαi 在FP-tree的项头表(按照支持度由低到高顺序进行扫描){ (3)
产生模式β= αiUβ,对应支持度MinSupport=αi.MinSupport;
构造β的条件模式基,在此基础上构造β的条件FP_Treeβ; (4)
If FP-tree不为空 then
调用FP-growth (FP-treeβ, β);
}
}
(1) FP-tree只含单个路径P,即只有一条分支且分支不能中间分叉,如果分叉可能隐含了分支合并问题,导致合并之前误删不满足最小支持度的;
(2)若分支上有项集n个项,则总共有2^n组合,可以每个项取或不取两种情况递归下去;
(3)当前条件FP-tree的的项头表,用尾插法建立单链表;
(4)从当前项头表的αi沿着条件FP_Tree的每条分支向上找出条件模式,然后建立后缀模式β的条件FP-treeβ。
下面是一个FP-tree简述过程图解:
图2.3 FP-tree示意图
§2.4本章小结
本章节首先从索引概念和R树原理开始,论述空间索引的基本理论和方法,然后阐述关联规则的理论基础和Apriori算法、FP-Growth算法原理,最后根据Tobler的地理学第一定理来阐释利用R树索引来实现关联规则的可行性,为下一章基于栅格扫描的同位模式挖掘算法提供理论依据。
第三章 基于栅格扫描的同位模式
§3.1概述
地学数据有着固有特点:高维、非结构化、多关联性等,这给传统关联规则在地学领域的应用带来很大的挑战;但是地学数据也有着客观存在的空间相关性,这又为地学数据挖掘提供了一定的思想源泉。可以根据Tobler的地理学第一定理解释的空间相关性,通过一定的预处理技术将地学数据关联规则挖掘转化成传统领域关联规则挖掘,而这种预处理技术就是本章讨论的基于栅格扫描的空间同位规则挖掘。
§3.2传统关联规则的不足
传统关联规则处理的是非空间数据,而地学数据属于空间数据的一种,故直接照搬传统关联规则很难适用于地学数据的挖掘,二者的关键区别在于以下3点:(1)通常地学数据类型没有传统意义上事务的概念,因为数据存在于联系的地理空间,盲目的划分成传统意义上的事务可能导致过高估计或过低估计置信度(12);
(2)地学数据的项集较少,这使得类Apriori算法处理时主要的消耗不在于候选项集的枚举,而在于邻域的枚举;
(3)在很多情况下,采集到的地学数据是连续数据的离散化样本,即不可能在很小的粒度上采集数据。
基于上面3点不同