数据清洗这是文本挖掘中关键的一步。因此文本内容无法用目前的数据挖掘技术直接进行处理,需要对文本进行预处理。通常文本型数据都具有相当大的维度空间,将导致在文本挖掘阶段消耗更多的计算机资源与处理时间。通过用户预定义的评估指标体系对文本挖掘所获取的知识进行评价,并根据评价结果抉择是否留用。文本挖掘的结果是面向各种应用的知识模式。通过评估可以改进文本挖掘的知识发现过程。......
2023-06-28
常用的数据挖掘方法有四大类,分别对应四个问题,这四个问题是数据挖掘的基础,分别是聚类挖掘、分类挖掘、关联模式挖掘和异常值检测。这四个问题很重要,因为它们涵盖了表示数据矩阵条目之间不同种类的正面、负面、监督或无监督关系的详尽情景。这些问题也以各种方式相互关联。
1.分类技术
从分类问题的提出至今,已经衍生出很多具体的分类技术,下面介绍数据挖掘中四种最常用的分类技术。本章节尽量用简单易理解的语言来表述这些技术,之后的章节中我们会再次给读者详细讲解各种算法和相关原理。
在学习这些算法之前必须清楚一点,分类算法不会百分百准确。每个算法在测试集上的运行都会有一个准确率的指标。使用不同的算法建模的分类器(Classifier),在不同的数据集上也会有不同的表现[7]。
1)K最近邻分类算法
K最近邻(K-Nearest Neighbor,KNN)分类算法可以说是整个数据挖掘分类技术中最简单的方法。所谓K最近邻,就是K个最近的邻居,说的是每个样本都可以用它最接近的K个邻居来代表。
我们用一个简单的例子来说明KNN算法的概念。如果您住在一个市中心的住宅内,周围若干个小区的同类大小房子售价都在280万~300万元,那么我们可以把您的房子和它的近邻们归类到一起,估计售价在280万~300万元。同样,您的朋友住在郊区,他周围的同类房子售价都在110万~120万元,那么他的房子和近邻的同类房子归类之后,售价也在110万~120万元。
KNN算法的核心思想是如果一个样本在特征空间中K个最近邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分类样本所属的类别。KNN算法在类别决策时,只与极少量的相邻样本有关。由于KNN算法主要靠周围有限的邻近样本,而不是靠判别类域的方法来确定所属类别,因此对于类域的交叉或重叠较多的待分样本集来说,KNN算法比其他方法更为适合。
2)决策树
如果说KNN是最简单的算法,那决策树应该是最直观最容易理解的分类算法。最简单的决策树的形式是if-then(如果-就)决策方式的树形分叉。
决策树上的每个结点要么是一个新的决策结点,要么是一个代表分类的叶子,而每一个分支则代表一个测试的输出。决策结点上做的是对属性的判断,而所有的叶子结点属于一类。决策树要解决的问题就是用哪些属性充当这棵树的各个结点,其中最关键的是根结点,在它的上面没有其他结点,其他所有的结点都是它的后继结点。
大多数分类算法(如下面介绍的神经网络、支持向量机(SVM)等)都是一种类似于黑盒子式的输出结果,你无法搞清楚具体的分类方式,而决策树让人一目了然,十分方便。决策树按分裂准则的不同可分为基于信息论的方法和最小GINI指数方法。
3)神经网络
在KNN算法和决策树算法之后,下面介绍神经网络[8]。神经网络就像一个爱学习的孩子,你教他的知识他不会忘记,而且会学以致用。我们把学习集中的每个样本输入到神经网络中,并告诉神经网络输出应该是什么分类。在全部学习集都运行完成之后,神经网络就根据学习集构建好了神经网络模型,构建模型的过程可以看作一个黑盒。然后,我们就可以把测试集中的测试例子用神经网络来分别做测试,如果测试通过(如80%或90%的正确率),那么神经网络就构建成功了,就可以用这个神经网络来判断事物的类别。
神经网络是通过对人脑的基本单元——神经元的建模和连接,探索模拟人脑神经系统功能的模型,这种模型是一种具有学习、联想、记忆和模式识别等智能信息处理功能的人工系统。神经网络的一个重要特性是它能够从环境中学习,把学习的结果分别存储于网络的突触连接中。神经网络的学习是一个过程,在其所处环境的激励下,相继给网络输入一些样本模式,并按照一定的规则(学习算法)调整网络各层的权值矩阵,网络各层权值都收敛到一定值时学习过程结束。
4)支持向量机
与上面的三种算法相比,支持向量机算法可能会有一些抽象。因此,可以这样理解,尽量把样本中从更高的维度看起来在一起的样本分为一类。例如,在一维(直线)空间里的样本从二维平面上可以把它们分成不同类别,而在二维平面上分散的样本如果我们从三维(3D)空间上来看就可以对它们做分类[9]。
支持向量机算法的目的是找到一个最优超平面,使分类间隔最大。最优超平面就是要求分类超平面不但能将两类样本正确分开,而且使分类间隔最大。在两类样本中离分类超平面最近且位于平行于最优超平面的超平面上的点就是支持向量,为找到最优超平面,只要找到所有的支持向量即可。对于非线性支持向量机,通常的做法是把线性不可分的数据转化成线性可分的数据,通过一个非线性映射将低维输入空间中的数据特征映射到高维线性特征空间中,在高维空间中求线性最优分类超平面。
由于支持向量机算法自问世以来就被认为是效果最好的分类算法,所以是我们在做数据挖掘应用时很看重的一个算法。
2.聚类技术
聚类技术是一种重要的人类行为,早在孩提时代,一个人就能不断改进意识中的聚类模式来学会如何区分猫、狗、动物、植物。聚类技术在许多领域都得到了广泛的研究和成功的应用,如模式识别、数据分析、图像处理、市场研究、客户分割、Web文档分类等。
聚类就是按照某个特定标准(如距离准则)把一个数据集分割成不同的类或簇,使得同一个簇内数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能大。即聚类后同一类的数据尽可能聚集到一起,不同类的数据尽量分离。聚类技术正在蓬勃发展,对此有贡献的研究领域包括数据挖掘、统计学、机器学习、空间数据库技术、生物学以及市场营销等。各种聚类方法也被不断地提出和改进,而不同的方法适合于不同类型的数据,因此对各种聚类思想、聚类效果进行比较成为值得研究的课题。
目前,数据挖掘领域有大量的聚类算法。而对于在具体应用中,聚类算法的选择取决于数据的类型和聚类的目的。聚类分析是描述或探查数据的工具,可以对同样的数据尝试多种算法,以发现数据可能揭示的结果。
聚类算法主要可以划分为如下几类:划分方法、层次方法、基于密度的方法、基于网格的方法以及基于模型的方法。每一类聚类算法都被广泛地应用于数据挖掘中,例如,划分方法中的K-Means聚类算法、层次方法中的凝聚型层次聚类算法、基于模型方法中的神经网络聚类算法等。
目前,聚类问题的研究不仅仅局限于上述硬聚类,即每一个数据只能被归为一类,模糊聚类也是聚类分析中研究较为广泛的一个分支。模糊聚类通过隶属函数确定每个数据隶属于各个簇的程度,而不是将一个数据对象硬性地归类到某一簇中。目前,已有很多关于模糊聚类的算法被提出,如著名的FCM算法等。
3.异常值检测
异常值检测的目标是发现与大部分对象不同的对象。通常,异常对象被称作离群点。异常值检测也称偏差检测,异常对象的属性值往往明显偏离期望或常见的属性值,因为异常在某种意义上是例外的,所以异常值检测又被称为例外挖掘。
异常值检测问题可以被看作两个子问题:①在给定的数据集合中定义什么样的数据可以被认为是不一致的;②找到一个有效的方法来挖掘这样的异常点。现在比较成熟的异常点检测方法主要有以下几类:基于统计的方法、基于距离的方法、基于偏差的方法、基于密度的方法、高维数据的异常检测。
基于统计的异常检测方法对给定的数据集合假设了一个分布或概率模型(如一个正态分布),然后根据模型采用不一致检验确定异常点。基于统计的异常检测方法对于有一定分布规律的数据集合效果是明显的,但是大多数情况下,数据的分布都是未知的。基于距离的异常检测方法根据对象间的距离来探测不一致的对象。它根据在特定领域内某一对象所包含的相邻对象数目是否足够多来判断该对象是否异常。基于偏差的异常检测通过检查一组对象的主要特征来确定异常点,与其他对象有显著不同的对象被认为是异常点。常用的基于偏离的异常点检测技术有序列异常技术、OLAP数据立方体技术等。基于密度的方法通过计算数据集中数据点的局部异常因子来检测局部异常数据点。高维数据的异常检测通过把高维数据映射到低维子空间,根据子空间映射数据的稀疏程度来确定异常数据的存在。
4.关联规则挖掘
关联规则挖掘是数据挖掘中一个很重要的课题,顾名思义,它是从数据背后发现事物之间可能存在的关联。举个简单的例子,通过调查商场里顾客买的东西可以发现,30%的顾客会同时购买床单和枕套,而购买床单的人中有80%购买了枕套。这里面就隐藏了一条关联:床单——枕套,也就是说很大一部分顾客会同时购买床单和枕套,那么对于商场来说,可以把床单和枕套放在同一个购物区,那样就方便顾客进行购物了。
数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联和因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。关联规则挖掘发现大量数据中项集之间有趣的关联,即可以根据一个数据项的出现推导出其他数据项的出现。阿格拉瓦尔等于1993年首先提出了挖掘顾客交易数据库中项集间的关联规则问题,在此之后很多的研究人员对关联规则的挖掘问题进行了大量的研究。他们的工作包括对原有的算法进行优化,如引入随机采样与并行的思想以提高算法挖掘规则的效率,对关联规则的应用进行推广。关联规则挖掘是数据挖掘中的一个重要课题,最近几年已被业界广泛研究。关联规则的挖掘过程主要包括两个阶段:第一阶段是从海量原始数据中找出所有的高频项目组;第二阶段是从这些高频项目组中产生关联规则。
关联规则挖掘在电商、零售、大气物理、生物医学等领域已经有广泛的应用。在金融行业中,关联规则挖掘技术已经被广泛应用于预测客户的需求,各银行在自己的ATM机上通过捆绑客户可能感兴趣的信息供用户了解,同时获取相应信息来改善自身的营销。
有关数据挖掘技术与应用的文章
数据清洗这是文本挖掘中关键的一步。因此文本内容无法用目前的数据挖掘技术直接进行处理,需要对文本进行预处理。通常文本型数据都具有相当大的维度空间,将导致在文本挖掘阶段消耗更多的计算机资源与处理时间。通过用户预定义的评估指标体系对文本挖掘所获取的知识进行评价,并根据评价结果抉择是否留用。文本挖掘的结果是面向各种应用的知识模式。通过评估可以改进文本挖掘的知识发现过程。......
2023-06-28
如果数据挖掘系统是交互的,数据挖掘结果的表示和显示这一点便尤为重要。从数据库角度来讲,有效性和可规模性是数据挖掘系统实现的关键问题。以上问题是数据挖掘技术未来发展的主要挑战。......
2023-06-21
4)探查例外或特异数据。在数据集中,一些数据或对象与其中其他数据或对象显著不同,则称为特异数据或特异对象。在这些应用中,发现特异数据成为挖掘的目标。其中,基于统计的方法,主要是利用数据的分布特性计算特异数据的特征,采用不一致检验的方法挖掘数据。2)和3)的方法均从数据本身出发挖掘特异数据,本章将介绍基于密度的局部特异数据挖掘方法的思想和主要算法。......
2023-06-16
关联规则是寻找在同一个事件中出现的不同项的相关性。关联分析即利用关联规则进行数据挖掘。关联规则挖掘问题的描述:项目集,设I={i1,i2,…关联规则挖掘的目标,给定一个事务集合T,关联规则挖掘即找出T中所有满足支持度和置信度分别高于一个用户指定的最小支持度和最小置信度的关联规则。......
2023-11-08
在数据处理方面:Flume对数据进行简单处理,并写到各种数据接收方处。为了保证配置数据的一致性,Flume引入了ZooKeeper,用于保存系统配置的数据。同时,在配置数据发生变化时,ZooKeeper可以通知Flume Master节点。Flume Master间使用gossip协议同步数据。Flume-ng取消了集中管理配置的Master和Zookeeper,变为一个纯粹的传输工具。在Flume-og中,读入线程同样做写出工作。如果写出慢的话,它将阻塞Flume接收数据的能力。......
2023-11-08
数据清理是指填充缺失值,光滑噪声并识别离群点,纠正数据中的不一致。主要针对缺失值数量较少且删除数据对整体数据几乎没有影响的数据进行处理,也可以根据数据缺失挖掘信息。......
2023-11-08
E.Knorr和R.Ng等在文献[109]中同时提出了一种基于网格构架的挖掘DB-outlier的方法。首先,全部的数据空间被分割成边长为l的网格。①如果Cx,y中的对象数>k,那么Cx,y中的所有对象均不是特异对象。M.M.Breuning等认为文献[106]中关注一个对象是否是特异的,而很多的应用中,给出一个对象的特异程度值更有意义。从[定义2.7]和[定义2.8]出发,M.M.Breuning等定义了一个度量对象p的特异程度的因子Local Outlier Factor,记为LOF[106]。......
2023-06-16
相关推荐