常用分类&聚类方法

来源:互联网 发布:marginnote mac 编辑:程序博客网 时间:2024/06/03 14:09

什么是分类

分类任务就是明确对象属于哪个预定义的目标类。其中预定义的目标类是离散时为分类,连续时为回归。

有哪些分类方法

常用的分类算法有决策树,基于规则的分类算法,神经网络,支持向量机和朴素贝叶斯分类法等。(参考常用分类算法总结)

  • 决策树

  • 基于规则的分类算法

  • 朴素贝叶斯 杂货铺

  • 最近邻分类器

  • 贝叶斯信念网络(BBN)

  • 人工神经网络

  • 支持向量机的特征(SVM)

什么是聚类

聚类就是按照某个特定标准(如距离准则,即数据点之间的距离)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。

有哪些聚类

  • 基于划分聚类算法(partition clustering)

k-means: 是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据
k-modes: K-Means算法的扩展,采用简单匹配方法来度量分类型数据的相似度
k-prototypes: 结合了K-Means和K-Modes两种算法,能够处理混合型数据
k-medoids: 在迭代过程中选择簇中的某点作为聚点,PAM是典型的k-medoids算法
CLARA: CLARA算法在PAM的基础上采用了抽样技术,能够处理大规模数据
CLARANS: CLARANS算法融合了PAM和CLARA两者的优点,是第一个用于空间数据库的聚类算法
Focused CLARAN: 采用了空间索引技术提高了CLARANS算法的效率
PCM: 模糊集合理论引入聚类分析中并提出了PCM模糊聚类算法

  • 基于层次聚类算法

CURE: 采用抽样技术先对数据集D随机抽取样本,再采用分区技术对样本进行分区,然后对每个分区局部聚类,最后对局部聚类进行全局聚类
ROCK: 也采用了随机抽样技术,该算法在计算两个对象的相似度时,同时考虑了周围对象的影响
CHEMALOEN(变色龙算法): 首先由数据集构造成一个K-最近邻图Gk ,再通过一个图的划分算法将图Gk 划分成大量的子图,每个子图代表一个初始子簇,最后用一个凝聚的层次聚类算法反复合并子簇,找到真正的结果簇
SBAC: SBAC算法则在计算对象间相似度时,考虑了属性特征对于体现对象本质的重要程度,对于更能体现对象本质的属性赋予较高的权值
BIRCH: BIRCH算法利用树结构对数据集进行处理,叶结点存储一个聚类,用中心和半径表示,顺序处理每一个对象,并把它划分到距离最近的结点,该算法也可以作为其他聚类算法的预处理过程
BUBBLE: BUBBLE算法则把BIRCH算法的中心和半径概念推广到普通的距离空间
BUBBLE-FM: BUBBLE-FM算法通过减少距离的计算次数,提高了BUBBLE算法的效率

  • 基于密度聚类算法

DBSCAN: DBSCAN算法是一种典型的基于密度的聚类算法,该算法采用空间索引技术来搜索对象的邻域,引入了“核心对象”和“密度可达”等概念,从核心对象出发,把所有密度可达的对象组成一个簇
GDBSCAN: 算法通过泛化DBSCAN算法中邻域的概念,以适应空间对象的特点
DBLASD:
OPTICS: OPTICS算法结合了聚类的自动性和交互性,先生成聚类的次序,可以对不同的聚类设置不同的参数,来得到用户满意的结果
FDC: FDC算法通过构造k-d tree把整个数据空间划分成若干个矩形空间,当空间维数较少时可以大大提高DBSCAN的效率

  • 基于网格的聚类算法

STING: 利用网格单元保存数据统计信息,从而实现多分辨率的聚类
WaveCluster: 在聚类分析中引入了小波变换的原理,主要应用于信号处理领域。(备注:小波算法在信号处理,图形图像,加密解密等领域有重要应用,是一种比较高深和牛逼的东西)
CLIQUE: 是一种结合了网格和密度的聚类算法
OPTIGRID:

  • 基于神经网络的聚类算法

自组织神经网络SOM: 该方法的基本思想是–由外界输入不同的样本到人工的自组织映射网络中,一开始时,输入样本引起输出兴奋细胞的位置各不相同,但自组织后会形成一些细胞群,它们分别代表了输入样本,反映了输入样本的特征

  • 基于统计学的聚类算法

COBWeb: COBWeb是一个通用的概念聚类方法,它用分类树的形式表现层次聚类
CLASSIT:
AutoClass: 是以概率混合模型为基础,利用属性的概率分布来描述聚类,该方法能够处理混合型的数据,但要求各属性相互独立

参考

http://blog.chinaunix.net/uid-10289334-id-3758310.html
http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html
http://blog.csdn.net/shouwangcc/article/details/48101761