クラスタリングのリンク方法と実践的な注意点

R による教師なし学習

Hank Roark

Senior Data Scientist at Boeing

階層的クラスタリングにおけるクラスタの連結

  • クラスタ間の距離はどのように決定するのでしょうか。ルールは?
  • どのクラスタをリンクするかを決定する4つの方法
    • 完全連結法:クラスタ1とクラスタ2のすべての観測値間のペアごとの類似度を計算し、類似度の最大値を使用
    • 最短距離法:同様の方法で類似度の最小値を使用
    • 平均連結法:同様の方法で類似度の平均値を使用
    • 重心法:クラスタ1とクラスタ2それぞれの重心を求め、2つの重心間の類似度を使用
R による教師なし学習

連結法:完全連結法と平均連結法

完全連結法と平均連結法のデンドログラム

R による教師なし学習

連結法:最短距離法

最短距離法のデンドログラム

R による教師なし学習

連結法:重心法

重心法のデンドログラム

R による教師なし学習

R でのリンク方法

# Fitting hierarchical clustering models using different methods
hclust.complete <- hclust(d, method = "complete")
hclust.average <- hclust(d, method = "average")
hclust.single <- hclust(d, method = "single")
R による教師なし学習

実践的な注意点

  • スケールの異なるデータは、クラスタリング手法で望ましくない結果を招くことがあります
  • 解決策は、特徴量が同じ平均と標準偏差を持つようにデータをスケーリングすることです
    • すべての観測値から特徴量の平均を引く
    • 各特徴量をその標準偏差で割る
    • 正規化された特徴量は平均0、標準偏差1になります
R による教師なし学習

実践的な注意点

# Check if scaling is necessary
colMeans(x)
-0.1337828  0.0594019
apply(x, 2, sd)
1.974376 2.112357
R による教師なし学習

実践的な注意点

# Produce new matrix with columns of mean of 0 and sd of 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...