数据挖掘分类技术
从分类问题的提出至今,已经衍生出了很多具体的分类技术。下面主要简单介绍四种最常用的分类技术,不过因为原理和具体的算法实现及优化不是本书的重点,所以我们尽量用应用人员能够理解的语言来表述这些技术。而且我们会在第4章再次给读者讲述分类算法和相关原理。
在我们学习这些算法之前必须要清楚一点,分类算法不会百分百准确。每个算法在测试集上的运行都会有一个准确率的指标。用不同的算法做成的分类器(Classifier)在不同的数据集上也会有不同的表现。
KNN,K最近邻算法
K最近邻(k-Nearest Neighbor,kNN)分类算法可以说是整个数据挖掘分类技术中最简单的方法。所谓K最近邻,就是k个最近的邻居,说的是每个样本都可以用它最接近的K个邻居来代表。
我们用一个简单的例子来说明kNN算法的概念。如果您住在一个市中心的住宅内,周围若干个小区的同类大小房子售价都在280万到300万之间,那么我们可以把你的房子和它的近邻们归类到一起,估计也可以售280万到300万之间。同样,您的朋友住在郊区,他周围的同类房子售价都在110万到120万之间,那么他的房子和近邻的同类房子归类之后,售价也在110万到120万之间。
KNN算法的核心思想是如果一个样本在特征空间中的K个最相似的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。KNN方法在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近样本,而不是靠判别类域的方法来确定所属类别,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。
决策树(Decision Tree)
如果说KNN是最简单的方法,那决策树应该是最直观最容易理解的分类算法。最简单的决策树的形式是If-Then(如果-就)式的决策方式的树形分叉。
比如下面这样一棵决策树,根据样本的相貌和财富两个属性把所有样本分成“高富帅”、“帅哥”、“高富”和“屌丝”四类。
If(obj.相貌=="帅")then
{
If (obj.财富>=1000000000) then
{
print(obj.Name + "高富帅");
}
else
{
print(obj.Name + "是帅哥");
}
}
else
{
If (obj.财富>=1000000000) then
{
print(obj.Name + "是高富");
}
else
{
print(obj.Name + "是屌丝");
}
}
决策树上的每个节点要么是一个新的决策节点,要么就是一个代表分类的叶子,而每一个分支则代表一个测试的输出。决策节点上做的是对属性的判断,而所有的叶子节点就是一个类别。决策树要解决的问题就是用哪些属性充当这棵树的各个节点的问题,而其中最关键的是根节点(Root Node),在它的上面没有其他节点,其他所有的属性都是它的后续节点。在上面的例子中,(obj.相貌==“帅”)就是根节点,两个(obj.财富>=1000000000)是根节点下一层的两个决策节点,四个print标志着四个叶子节点,各自对应一个类别。
所有的对象在进入决策树之后根据各自的“相貌”和“财富”属性都会被归到四个分类中的某一类。
大多数分类算法(如下面要提的神经网络、支持向量机等)都是一种类似于黑盒子式的输出结果,你无法搞清楚具体的分类方式,而决策树让人一目了然,十分方便。决策树按分裂准则的不同可分为基于信息论的方法和最小GINI指标(Gini Index)方法等。
神经网络(Neural Net)
在KNN算法和决策树算法之后,我们来看一下神经网络。
神经网络就像是一个爱学习的孩子,你教他的知识他不会忘记,而且会学以致用。我们把学习集(Learning Set)中的每个输入加到神经网络中,并告诉神经网络输出应该是什么分类。在全部学习集都运行完成之后,神经网络就根据这些例子总结出他自己的想法,到底他是怎么归纳的就是一个黑盒了。之后我们就可以把测试集(Testing Set)中的测试例子用神经网络来分别作测试,如果测试通过(比如80%或90%的正确率),那么神经网络就构建成功了。我们之后就可以用这个神经网络来判断事务的分类。
神经网络是通过对人脑的基本单元——神经元的建模和连接,探索模拟人脑神经系统功能的模型,并研制一种具有学习、联想、记忆和模式识别等智能信息处理功能的人工系统。神经网络的一个重要特性是它能够从环境中学习,并把学习的结果分别存储于网络的突触连接中。神经网络的学习是一个过程,在其所处环境的激励下,相继给网络输入一些样本模式,并按照一定的规则(学习算法)调整网络各层的权值矩阵,待网络各层权值都收敛到一定值,学习过程结束。然后我们就可以用生成的神经网络来对真实数据做分类。
支持向量机SVM(Support Vector Machine)
和上面三种算法相比,支持向量机的说法可能会有一些抽象。我们可以这样理解,尽量把样本中的从更高的维度看起来在一起的样本合在一起,比如在一维(直线)空间里的样本从二维平面上可以把它们分成不同类别,而在二维平面上分散的样本如果我们从第三维空间上来看就可以对它们做分类。
支持向量机算法的目的是找到一个最优超平面,使分类间隔最大。最优超平面就是要求分类面不但能将两类正确分开,而且使分类间隔最大。在两类样本中离分类面最近且位于平行于最优超平面的超平面上的点就是支持向量,为找到最优超平面,只要找到所有的支持向量即可。对于非线性支持向量机,通常做法是把线性不可分转化成线性可分,通过一个非线性映射将低维输入空间中的数据特征映射到高维线性特征空间中,在高维空间中求线性最优分类超平面。
支持向量机算法是我们在做数据挖掘应用时很看重的一个算法,而原因是该算法自问世以来就被认为是效果最好的分类算法之一。
本文节选自《New Internet:大数据挖掘》
谭磊著
电子工业出版社出版
相关推荐
数据挖掘分类技术是提取有价值信息的重要手段,在电信网络风险预警中,其应用显得尤为关键。电信网络作为国民经济发展的重要支撑平台,其安全性和稳定性直接关系到国家运行和人民生活的质量。随着信息通信技术的快速...
本文探讨了数据挖掘分类技术在高校教学中的应用,特别聚焦在学生成绩的分析上,以期能够指导教学改进和提高教学质量。 首先,数据挖掘可以应用于教育领域,尤其是在高校教学中的应用尚不广泛。在教学实施过程中,...
人工智能-数据挖掘-基于数据挖掘分类技术的煤层底板突水预测.pdf
通过这个数据集,学习者和研究人员可以实践各种数据挖掘分类技术,加深对算法的理解,同时也可以对比不同算法的表现,探索优化策略。无论是初学者还是经验丰富的专业人士,都能从中受益,提升数据分析和模型构建的...
邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最_KNN_-
数据挖掘是一种从海量数据中提取有价值知识的过程,它包含了多种技术,其中贝叶斯网络是常用的一种分类技术。数据挖掘的别名有知识发现、信息抽取和智能数据分析,其目标是找出数据中的有效、新颖、潜在有用且可理解...
在本篇文档中,将重点讨论两种常用的分类技术——决策树和神经网络,并分析它们在中医诊断模型构建中的应用,优势与不足。 首先,决策树作为一种归纳学习算法,能够从无次序、无规律的实例中推理出分类规则,并以...
数据分类算法是大数据挖掘中的一项重要技术,它能够将数据集中的数据项根据一定的分类规则分配到事先定义好的类别中。分类算法在文本、生物信息、多媒体数据和社交网络等不同领域都得到了广泛应用,成为学术界和工业...
总之,数据挖掘技术尤其是决策树分类算法的研究,对提高数据处理的效率和准确性有着不可忽视的作用。ID3算法作为其中的代表,通过将数据集组织成决策树的形式,便于人们理解和使用,极大地推动了数据分析技术的发展...
数据挖掘技术与分类算法研究 数据挖掘技术与分类算法研究
《数据挖掘技术及其应用》是刘同明撰写的一本深入探讨数据挖掘理论与实践的书籍。数据挖掘,作为信息技术领域的重要分支,旨在从海量数据中发现有价值的信息和知识,为决策提供支持。这本书全面介绍了这一领域的核心...
总之,数据挖掘中的分类技术是通过构建模型来预测离散类标号,而预测则关注连续值的预测。两者在数据分析中各有其应用场景,且都需要经过数据预处理、模型构建和评估等步骤。决策树作为一种常用的分类方法,以其直观...
该算法是数据挖掘分类技术的一种,通过构建决策树可以直观地显示数据中的分类规则。 七、结论和建议 通过数据挖掘技术的应用,高校可以根据学生的个人特征和能力,为他们提供个性化的就业指导和帮助。这不仅能够...
数据挖掘通常包括分类、关联规则学习、聚类、序列模式挖掘和异常检测等任务。 2. **预处理**:数据挖掘前的预处理工作至关重要,包括数据清洗(处理缺失值、异常值和不一致性)、数据转换(如规范化、标准化)以及...
### 数据挖掘的概念与技术 #### 一、引言 数据挖掘是一种从大量数据中提取有用信息的过程或方法。它不仅仅是数据库、统计学和机器学习技术的简单转变,而是这些领域技术的一种集成应用和发展。 1. **是否是另一种...
数据挖掘是信息技术领域的一个核心分支,它涉及到从大量数据中发现有价值信息的过程。《数据挖掘概念与技术》是由著名学者Jiawei Han、Micheline Kamber和Peter Philippsen合著的经典教材,第三版由范明译为中文,...
随着移动互联网技术的迅速发展,电信行业产生的数据量急剧增加,这为电信运营商通过数据挖掘获得新的价值创造了机会。数据挖掘在电信行业中的应用可以极大地提升运营商的服务转型与产业升级能力。电信大数据的特点...
数据挖掘不是单一学科技术的简单转换,它涉及到多个学科技术的综合与整合,包括数据库技术、统计学、机器学习、高性能计算、模式识别、神经网络、数据可视化等。因此,数据挖掘是一个跨学科的综合性技术。 3. 数据...
数据挖掘是一种从海量数据中提取出有用信息的过程,它结合了统计学、机器学习和数据库技术,用于发现隐藏的模式、关联和趋势。本资料集包含的数据挖掘算法实例,将帮助我们深入理解这一领域的核心概念。 第一章...