聚类的链接方法与实务要点

R 中的无监督学习

Hank Roark

Senior Data Scientist at Boeing

层次聚类中的簇链接

  • 如何定义簇间距离?有哪些规则?
  • 决定链接簇的四种方法
    • 完全链接(Complete):计算簇 1 与簇 2 所有成对相似度,取其中最大值
    • 单一链接(Single):同上,但取最小值
    • 平均链接(Average):同上,但取平均值
    • 质心链接(Centroid):求两簇质心,使用两质心的相似度
R 中的无监督学习

链接方法:完全与平均

完全链接与平均链接树状图

R 中的无监督学习

链接方法:单一

单一链接树状图

R 中的无监督学习

链接方法:质心

质心链接树状图

R 中的无监督学习

R 中的链接方法

# 使用不同方法拟合层次聚类模型
hclust.complete <- hclust(d, method = "complete")
hclust.average <- hclust(d, method = "average")
hclust.single <- hclust(d, method = "single")
R 中的无监督学习

实务要点

  • 不同量纲会导致聚类结果失真
  • 解决方案:将特征缩放到相同均值与标准差
    • 用各特征的均值对其观测值中心化(减去均值)
    • 再除以该特征的标准差
    • 归一化后:均值为 0,标准差为 1
R 中的无监督学习

实务要点

# 检查是否需要缩放
colMeans(x)
-0.1337828  0.0594019
apply(x, 2, sd)
1.974376 2.112357
R 中的无监督学习

实务要点

# 生成列均值为 0、标准差为 1 的新矩阵
scaled_x <- scale(x)
colMeans(scaled_x)
2.775558e-17 3.330669e-17
apply(scaled_x, 2, sd)
1 1
R 中的无监督学习

Vamos praticar!

R 中的无监督学习

Preparing Video For Download...