一、层次聚类 - 单连接聚类(Single Link)
Step:
1、假设每个点是一个类(1,2,3,4,5,6,7,8)
2、计算每个类两两之间的距离
3、距离最短的类,合并为同一个类,如果类中有多个,根据不同层次算法选择的距离不同
层次聚类算法 | 距离计算 | sklearn |
---|---|---|
单连接(Single Link) | 类间最短元素间的距离 | |
全连接(Complete Link) | 类间最远元素间的距离 | complete |
平均连接(Average Link) | 类间两两距离的平均值 | average |
离差平方和 | 类间距离平方和 - 类内距离平方和 | ward (默认) |
sklearn
: 凝聚聚类法,不包含 单连接聚类法
from sklearn import cluster
cluster.AgglomerativeClustering(n_clusters=3,linkage='ward')
层次聚类优缺点:
优点:
1、信息丰富
2、结构视觉化
缺点:
1、对噪音敏感
2、计算量大 O ( N 2 ) O(N^2) O(N2)
二、密度聚类 DBSCAN - 具有噪声的基于密度的空间聚类
参数 | 解释 |
---|---|
ϵ \epsilon ϵ | 搜索半径 |
MinPts | 圆内的最小点数 |
点的分类 | 半径为 ϵ \epsilon ϵ 的圆内的点数 |
---|---|
噪声点 | < MinPts |
核心点 | >= MinPts |
边界点 |
优点:
1、不需要指明类的个数
2、灵活地找到各种形状和大小的类
3、能处理噪声和离群值
缺点:
1、边界点可能同时属于两个类,从而不能保证每次传回相同的聚类;
2、难以找到不同密度的类 - 解决方法: HDBSCAN;
文献参考: Traffic Classification Using Clustering Algorithms
文献参考: Anomaly detection in temperature data using dbscan algorithm