1.划分聚类方法
K-means聚类 | K中心聚类 | |
过程 | 1初始化K个聚类中心 2.计算每个点到聚类中心的距离,划分类 3.计算簇中所有点的均值,作为下一次迭代的聚类中心 4.循环至收敛 | 1任选k个对象,作为簇的中心点 2.计算每个点到聚类中心的距离,划分类 3.用非中心点替换中心点,如果替换代价满足条件,则替换。得到新的中心点,以及聚类结果 4.循环用非中心点替换中心点,计算替换代价 |
优点 | 简单,快速 | 1. 聚类结果与数据对象点的输入顺序无关 2. 对噪声点/孤立点不敏感 |
缺点 | 1.事先要给出要生成的簇的类目; 2.不同初始值,可能会导致不同的聚类结果 3. 不适用极端点比较多的情况 | 高耗时 |
2.KNN(K-Nearest Neighbor)分类算法
KNN分类 | |
过程 | 1. 计算测试样本与每个训练样本的距离 2. 得到K个最近距离的训练样本 3. K个训练样本对应的分类类别 4. 统计出现次数最多的类别,作为测试样本的类别 |
优点 | 简单,易于实现 |
缺点 | 1.分类速度慢 2.各属性的权重相同 3.样本库依赖性强 4.K值不好确定 |
3.层次聚类方法
distfunc <- function(x) dist(x, method="euclidean") #R语言,heatmap.2欧式距离