聚类算法总览
聚类分析就是在没有给定类别标签的情况下,根据数据相似性来进行分组的方法,是一种无监督的算法。聚类根据数据自身的距离或相似度将其划分为若干组,划分的原则是组内距离最小化而组间距离最大化。
常用聚类方法
类别 | 包括的主要算法 |
划分方法 | k-means(k-平均)、k-medoids(k-中心点)、Clarans(基于选择的算法) |
层次分析方法 | BIRCH(平衡迭代规约和聚类)、CURE(代表点聚类)、CHAMELEON(动态模型) |
基于密度的方法 | DSBCAN(基于高密度连接区域)、DENCLUE(密度分布函数)、OPTICS(对象排序识别) |
基于网格的方法 | STING(统计信息网络)、CLIOUE(聚类高维空间)、WAVE-CLUSTER(小波变化) |
基于模型的方法 | 统计学方法、神经网络方法 |
常用聚类分析算法
算法名称 | 算法描述 |
k-means | k-均值聚类,在最小化误差函数的基础上将数据划分为预定的类数k.原理简单,便于处理大量数据。 |
k-中心点 | k-均值算法对孤立点敏感性,k-中心点算法不采用簇中对象的平均值作为簇中心,而选用簇中离平均值最近的对象作为簇中心 |
系统聚类 |
系统聚类也称为多层次聚类,分类的单位由高到低呈树形结构,且所处的位置越低,其所包含的对象就越少,但这些对象间的共同 特征越多,该方法只适合在小数据量的时候使用,数据量大的时候速度会非常慢。 |
聚类主要函数列表
对象名 | 函数功能 | 所属工具箱 |
kmeans | k-均值聚类 | sklearn.cluster |
AffinityPropagation | 吸引力传播聚类,07年提出,几乎优于所有其他方法,不需要指定聚类数,但运行效率较低 | sklearn.cluster |
MeanShift | 均值漂移聚类算法 | sklearn.cluster |
SpectralClustering | 谱聚类,具有效果比k均值好,速度比k均值快等特点 | sklearn.cluster |
AgglomerativeClustering | 层次聚类,给出一颗聚类层次树 | sklearn.cluster |
DBSCAN | 具有噪声的基于密度的聚类方法 | sklearn.cluster |
BIRCH | 综合的层次聚类算法,可以处理大规模数据的聚类 | sklearn.cluster |
参考资料:
1、python数据分析与挖掘实战
2、https://mp.weixin.qq.com/s/abD7Lk8V_c9WujzsmzTmgw
4、太强了,10种聚类算法完整Python实现! (qq.com)
posted on 2020-05-16 10:47 enhaofrank 阅读(362) 评论(0) 编辑 收藏 举报