群聚的連結方式與實務重點

R 的無監督式學習

Hank Roark

Senior Data Scientist at Boeing

階層式分群中的群聚連結

  • 如何判定群聚之間的距離?有哪些規則?
  • 判定應連結哪一個群聚的四種方法
    • Complete:比較群聚 1 與群聚 2 所有觀測的兩兩相似度,取「最大相似度」
    • Single:同上,但取「最小相似度」
    • Average:同上,但取「相似度的平均」
    • Centroid:先找出群聚 1 與群聚 2 的質心,取「兩個質心的相似度」
R 的無監督式學習

連結方法:complete 與 average

complete 與 average 的樹狀圖

R 的無監督式學習

連結方法:single

single 的樹狀圖

R 的無監督式學習

連結方法:centroid

centroid 的樹狀圖

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 的無監督式學習

一起來練習吧!

R 的無監督式學習

Preparing Video For Download...