主要的距离计算方法包括:
- 最短距离法(通过样本数值之间的距离计算,然后将距离值最小的样本进行合并的过程)
- 最长距离法
- 中间距离法
- 重心法(重心聚类法:将两个聚类中心点的距离定义为两个类的重心距离,而类的重心为属于该类的样本的平均值)
- 离差平方和法
- 类平均距离法(动态聚类法:利用类平均值法对数据进行聚类的方法属于动态聚类的方法,也称逐步聚类法)
常见的聚类算法:
- K-Means算法:初始选择K个点作为中心聚类点,将N个点分别于K个点计算距离,选择自己最近的点作为自己的中心点,不断地更新中心聚集法,不足:在K-Means算法执行过程中,通过随机的方式初始质心,也只有初始时通过随机方式产生的质心才是实际需要聚簇集合中心的点,而后面通过不断迭代产生的新的质心很可能并不是在聚簇中的点。
- K-Means++算法:在K_Means算法的基础上,为了改进初始点的选择,而K-Means++算法则是在选择初始中心之前,对所有数据进行一次计算,使得选择的初始化聚类中心之间的聚类尽可能的远。
- K-Medoids(中心点)聚类算法:实质是对K-Means算法的优化和改进。
- ISODATA聚类算法:和K-Means类似,但是属于无监督的聚类分析方法。
- 基于密度的DBSCAN算法:是一种基于密度的聚类算法,思想是以某点为核心点的基础上,若在指定半径范围内拥有超过指定的点的数量,则形成一个聚簇。
- 基于BIRCH算法的聚类分析:它可以在任何给定的内存下运行,主要用于处理超大规模的数据集,它是一个基于距离的层次聚类,综合了层次凝聚和迭代的重定位方法。算法的过程是将待分类的数据插入到一棵树中,并且原始数据都在叶子结点上,它的主要思想是通过扫描数据库,建立一个初始存放于内存中的聚类特征树,然后对聚类特征树的叶节点加以聚类。算法的核心是聚类特征(CF)和聚类特征树(CFT)。
层次聚类:https://blog.csdn.net/sinat_29957455/article/details/80146093
距离的定义方法:
-
1. 欧氏距离
2. 曼哈顿距离
3. 切比雪夫距离
4. 闵可夫斯基距离
5. 标准化欧氏距离
6. 马氏距离
7. 夹角余弦
8. 汉明距离
9. 杰卡德距离 & 杰卡德相似系数
10. 相关系数 & 相关距离
11. 信息熵
距离计算:https://www.cnblogs.com/soyo/p/6893551.html