密度聚类
K-Means算法主要针对那种类圆形区域数据的聚类,相对来说应用范围窄了一点。而密度聚类可以弥补这个缺点,可用于任何形状的聚类。这个算法需要我们调节两个参数,半径sigma,最小数目m,先介绍该算法的一些概念
核心对象:对于一个对象它的sigma领域内至少有m个对象,那我们就称之为核心对象
直接密度可达:如果一个对象处在一个核心对象的sigma领域内,那称这两个对象直接密度可达
密度可达(相连):如果一个对象a和b直接密度可达,对象b和c也是直接密度可达,那么我们称a和c是密度可达的,也称这两个对象是密度相连的。
DBSCAN的算法就是我们先找到一个核心对象,从它出发,确定若干个直接密度可达的对象,再从这若干个对象出发,寻找它们直接密度可达的点,直至最后没有可添加的对象了,那么一个簇的更新就完成了。我们也可以说,簇其实就是所有密度可达的点的集合。
算法优点:
1.对这个簇的形状没要求
2.对异常的点,可能被挑选出来。
(它既不是核心对象,然后对其它的点又不是密度可达的,所以最后就被剩了出来没被分类。)
缺点:
对参数的值,影响很大。
层次聚类
层次聚类是一种基于树形结构的聚类方法,常用的是自底向上的结合策略(AGNES算法)。假设有N个待聚类的样本,其基本步骤是:
1.初始化–>把每个样本归为一类,计算每两个类之间的距离,也就是样本与样本之间的相似度;
2.寻找各个类之间最近的两个类,把他们归为一类(这样类的总数就少了一个);
3.重新计算新生成的这个类与各个旧类之间的相似度;
4.重复2和3直到所有样本点都归为一类,结束。![]()