`

数据挖掘中分类算法总结

阅读更多

数据仓库,数据库或者其它信息库中隐藏着许多可以为商业、科研等活动的决策提供所需要的知识。分类与预测是两种数据分析形式,它们可以用来抽取能够描述重要数据集合或预测未来数据趋势的模型。分类方法(Classification)用于预测数据对象的离散类别(Categorical Label);预测方法(Prediction )用于预测数据对象的连续取值。

 

分类技术在很多领域都有应用,例如可以通过客户分类构造一个分类模型来对银行贷款进行风险评估;当前的市场营销中很重要的一个特点是强调客户细分。客户类别分析的功能也在于此,采用数据挖掘中的分类技术,可以将客户分成不同的类别,比如呼叫中心设计时可以分为:呼叫频繁的客户、偶然大量呼叫的客户、稳定呼叫的客户、其他,帮助呼叫中心寻找出这些不同种类客户之间的特征,这样的分类模型可以让用户了解不同行为类别客户的分布特征;其他分类应用如文献检索和搜索引擎中的自动文本分类技术;安全领域有基于分类技术的入侵检测等等。机器学习、专家系统、统计学和神经网络等领域的研究人员已经提出了许多具体的分类预测方法。下面对分类流程作个简要描述:

 

训练:训练集——>特征选取——>训练——>分类器

分类:新样本——>特征选取——>分类——>判决

 

最初的数据挖掘分类应用大多都是在这些方法及基于内存基础上所构造的算法。目前数据挖掘方法都要求具有基于外存以处理大规模数据集合能力且具有可扩展能力。下面对几种主要的分类方法做个简要介绍:

 

(1)决策树

 

决策树归纳是经典的分类算法。它采用自顶向下递归的各个击破方式构造决策树。树的每一个结点上使用信息增益度量选择测试属性。可以从生成的决策树中提取规则。

 

(2) KNN法(K-Nearest Neighbor)

    KNN 法即K最近邻法,最初由Cover和Hart于1968年提出的,是一个理论上比较成熟的方法。该方法的思路非常简单直观:如果一个样本在特征空间中的k 个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。

    KNN 方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。因此,采用这种方法可以较好地避免样本的不平衡问题。另外,由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。

    该方法的不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。另外还有一种Reverse KNN法,能降低KNN算法的计算复杂度,提高分类的效率。

    该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。

 

 (3) SVM法

    SVM法即支持向量机(Support Vector Machine)法,由Vapnik等人于1995年提出,具有相对优良的性能指标。该方法是建立在统计学习理论基础上的机器学习方法。通过学习算法,SVM可以自动寻找出那些对分类有较好区分能力的支持向量,由此构造出的分类器可以最大化类与类的间隔,因而有较好的适应能力和较高的分准率。该方法只需要由各类域的边界样本的类别来决定最后的分类结果。

    支持向量机算法的目的在于寻找一个超平面H(d),该超平面可以将训练集中的数据分开,且与类域边界的沿垂直于该超平面方向的距离最大,故SVM法亦被称为最大边缘(maximum margin)算法。待分样本集中的大部分样本不是支持向量,移去或者减少这些样本对分类结果没有影响,SVM法对小样本情况下的自动分类有着较好的分类结果。

 

(4) VSM法

    VSM法即向量空间模型(Vector Space Model)法,由Salton等人于60年代末提出。这是最早也是最出名的信息检索方面的数学模型。其基本思想是将文档表示为加权的特征向量:D=D(T1,W1;T2,W2;…;Tn,Wn),然后通过计算文本相似度的方法来确定待分样本的类别。当文本被表示为空间向量模型的时候,文本的相似度就可以借助特征向量之间的内积来表示。

    在实际应用中,VSM法一般事先依据语料库中的训练样本和分类体系建立类别向量空间。当需要对一篇待分样本进行分类的时候,只需要计算待分样本和每一个类别向量的相似度即内积,然后选取相似度最大的类别作为该待分样本所对应的类别。

    由于VSM法中需要事先计算类别的空间向量,而该空间向量的建立又很大程度的依赖于该类别向量中所包含的特征项。根据研究发现,类别中所包含的非零特征项越多,其包含的每个特征项对于类别的表达能力越弱。因此,VSM法相对其他分类方法而言,更适合于专业文献的分类。

 

(5) Bayes法

    Bayes法是一种在已知先验概率与类条件概率的情况下的模式分类方法,待分样本的分类结果取决于各类域中样本的全体。

    设训练样本集分为M类,记为C={c1,…,ci,…cM},每类的先验概率为P(ci),i=1,2,…,M。当样本集非常大时,可以认为 P(ci)=ci类样本数/总样本数。对于一个待分样本X,其归于cj类的类条件概率是P(X/ci),则根据Bayes定理,可得到cj类的后验概率 P(ci/X):

    P(ci/x)=P(x/ci)·P(ci)/P(x)(1)

    若P(ci/X)=MaxjP(cj/X),i=1,2,…,M,j=1,2,…,M,则有x∈ci(2)

    式(2)是最大后验概率判决准则,将式(1)代入式(2),则有:

    若P(x/ci)P(ci)=Maxj[P(x/cj)P(cj)],i=1,2,…,M,j=1,2,…,M,则x∈ci

    这就是常用到的Bayes分类判决准则。经过长期的研究,Bayes分类方法在理论上论证得比较充分,在应用上也是非常广泛的。

Bayes 方法的薄弱环节在于实际情况下,类别总体的概率分布和各类样本的概率分布函数(或密度函数)常常是不知道的。为了获得它们,就要求样本足够大。另外,Bayes法要求表达文本的主题词相互独立,这样的条件在实际文本中一般很难满足,因此该方法往往在效果上难以达到理论上的最大值。

 

(6)神经网络

神经网络分类算法的重点是构造阈值逻辑单元,一个值逻辑单元是一个对象,它可以输入一组加权系数的量,对它们进行求和,如果这个和达到或者超过了某个阈值,输出一个量。如有输入值X1, X2, ..., Xn 和它们的权系数:W1, W2, ..., Wn,求和计算出的 Xi*Wi ,产生了激发层 a = (X1 * W1)+(X2 * W2)+...+(Xi * Wi)+...+ (Xn * Wn),其中Xi 是各条记录出现频率或其他参数,Wi是实时特征评估模型中得到的权系数。神经网络是基于经验风险最小化原则的学习算法,有一些固有的缺陷,比如层数和神经元个数难以确定,容易陷入局部极小,还有过学习现象,这些本身的缺陷在SVM算法中可以得到很好的解决。

 

分享到:
评论

相关推荐

    数据挖掘分类算法综述

    总结来说,数据挖掘中的分类算法是一门深奥且实用的技术,它为理解和预测复杂数据提供了强大工具。无论是在商业决策、医学诊断还是社会科学中,分类算法都发挥着不可或缺的作用。通过深入研究并选择合适的算法,我们...

    常用数据挖掘算法总结及Python实现.pdf

    在本文档中,作者Xuejun Yang详细介绍了数据挖掘中的关键算法,并提供了Python实现,帮助读者深入理解并实践这些算法。 第一部分,数据挖掘与机器学习数学基础,涵盖了机器学习的统计基础和探索性数据分析(EDA)。...

    数据挖掘分类算法综述.pdf

    数据挖掘分类算法是现代数据分析领域的重要组成部分,旨在从海量数据中提取有价值的信息。本文聚焦于数据挖掘中的分类算法,包括决策树、关联规则分类、神经网络、贝叶斯方法、遗传算法等。我们将深入探讨这些算法的...

    数据挖掘中的文本挖掘的分类算法综述.docx

    数据挖掘中的文本挖掘的分类算法综述 数据挖掘是指从大量数据中提取有价值的信息或模式的过程。数据挖掘技术可以应用于许多领域,如客服管理、市场营销、医疗保健等。文本挖掘是数据挖掘的一个子领域,主要是从大量...

    数据挖掘十大经典算法总结

    数据挖掘是信息技术领域的一个关键分支,它涉及到从海量数据中提取有价值的信息和知识。数据挖掘过程通常涵盖了多种方法,如统计分析、在线分析处理、机器学习等,旨在通过算法揭示数据背后的模式和规律。 十大经典...

    python数据挖掘分类聚类回归关联算法代码加样例

    总结来说,这个压缩包提供了Python实现的数据挖掘中分类、聚类、回归和关联规则的关键算法,对于学习和实践数据挖掘技术非常有价值。通过阅读和运行这些代码,不仅可以加深对算法的理解,还能提升Python编程和数据...

    数据挖掘ID3分类算法研究综述.pdf

    总结来说,数据挖掘ID3分类算法通过构建决策树的方式,为数据分类问题提供了一种高效的解决方法。通过对信息熵的深入理解和应用,ID3算法能够有效地从数据集中挖掘出隐藏的模式和关系。同时,随着数据挖掘技术的不断...

    数据挖掘常用分类算法研究.pdf

    在进行数据挖掘的过程中,分类算法是其中一项重要的技术手段,它通过分析数据库、数据仓库等存储信息库中的数据,提炼出与商业决策和科学研究等活动相关的信息和知识。数据挖掘中的数据分析,通常包括分类和预测两种...

    常用数据挖掘算法总结及Python实现

    该文档总结了常用的数据挖掘的算法原理以及Python实践内容,为初学者提供良好的参考资料,需要的朋友可看看! 第一部分 数据挖掘与机器学习数学基础3 第一章 机器学习的统计基础3 第二章 探索性数据分析(EDA).11 ...

    《常用数据挖掘算法总结及Python实现》 PDF

    《常用数据挖掘算法总结及Python实现》这本书是数据科学领域的一本重要参考资料,它涵盖了数据挖掘中的关键算法,并提供了Python语言的实现代码。对于想要深入理解数据挖掘并掌握实际操作的读者来说,这本书是一个...

    数据挖掘经典算法综述

    随着信息技术的飞速发展,数据挖掘已成为企业和研究机构的重要工具,用于从海量数据中提取有价值的信息。本文将详细介绍数据挖掘领域的十大经典算法,涵盖分类、聚类、关联规则等多个方面。 #### 二、经典算法概述 ...

    机器学习数据挖掘常用算法总结梳理完整版

    数据挖掘则是从大量的数据中通过算法搜索隐藏信息的过程,常用于商业分析、科学研究、生产控制等领域。机器学习与数据挖掘紧密相关,彼此运用多种算法和技术,从数据中提炼知识。 在机器学习和数据挖掘的实践中,...

    数据挖掘原理与算法

    本书是一本全面介绍数据挖掘和知识发现技术的专业书籍,它系统地阐述了数据挖掘和知识发现技术的产生、发展、应用以及相关概念、原理和算法,对数据挖掘中的主要技术分支,包括关联规则、分类、聚类、序列、空间以及...

    常用数据挖掘算法总结及Python实现 文字版+code

    第四章 KNN(k 最邻近分类算法) 16 第五章 决策树19 第六章 朴素贝叶斯分类29 第七章 Logistic 回归 .32 第八章 SVM 支持向量机42 第九章 集成学习(Esemble Learning)43 第十一章 模型评估46 第四部分 非监督学习--...

    数据挖掘与数据分析应用案例 数据挖掘算法实践 基于C++的贝叶斯分类算法的训练数据问题.doc

    ### 数据挖掘与数据分析应用案例:基于C++的贝叶斯分类算法的训练数据问题 #### 一、基础知识 **数据挖掘**(Data Mining)是指从大量数据中通过算法搜索隐藏于其中信息的过程。数据挖掘是数据库知识发现...

    数据挖掘原理与算法(PDF)

    对数据挖掘中的主要技术分支,包括关联规则、分类、聚类、序列、空间以及Web挖掘等进行了理论剖析和算法描述。本书的许多工作是作者们在攻读博士学位期间的工作总结,一方面,对于相关概念和技术的阐述尽量先从理论...

Global site tag (gtag.js) - Google Analytics