This document introduces methods for mechanically determining the appropriate number of clusters in clustering analysis, utilizing the R package nbclust. It explains the elbow method for exploring optimal cluster numbers and provides guidelines on selecting the number of clusters and relevant indicators. Practical execution examples using the nbclust package are also included.
9. K-平均法のアルゴリズム
? 言葉で言ってもわかんないので、可視化した
ものをみてみましょう。
入力: アルゴリズム: 出力:
多次元データX(nxp) *K平均法 データの属するクラスタ
評価関数、
n
L ? ? min || xi ? cl ||
l ?1,?, k
i ?1
を最小化している
クラスタ数k のと同じ。 クラスタ中心
k=3 C ? {c1 ,?ck }
*アルゴリズムの詳細は下記リンクをチェック!
http://d.hatena.ne.jp/nitoyon/20090409/kmeans_visualise
15. カーネル主成分分析
(カーネル)主成分分析は次元削減のアルゴリズムです。
? 主成分:(カーネル)主成分分析の出力結果、元の変数の
線形結合で表される新しい変数
? 主成分の上位だけで基のデータをよく説明できるはず!
この部分を直接プ
ロットすればいい? バラツキをよく
説明する順番
に並んでいる。
元のデータ 主成分
x1 y1 c11 x1 ? ? ? c1 p x p
?
x2 y2 ? c21 x1 ? ? ? c2 p x p
バラツキ バラツキ
? 主成分分析 ?
xp y p ? c p1 x1 ? ? ? c pp x p
17. カーネル主成分分析の結果
元のデータ 主成分
クラスタ数
が3つである
ことが示唆
される。
元のデータ 主成分
x1 y1 c11 x1 ? ? ? c1 p x p
?
x2 y2 ? c21 x1 ? ? ? c2 p x p
バラツキ バラツキ
? 主成分分析 ?
xp y p ? c p1 x1 ? ? ? c pp x p
28. ギャップ统计量
ランダムなデータと比較した評価関数L
Gkが最大値になるK
ギャップ统计量Gk =データのクラスタ数
L'k
Gk ? log ? log L'k ? log Lk ギ
Lk ャ
ッ
プ
統
同一範囲内の 計
元のデータ
一様乱数 量
n n
Lk ? ? min || xi ? cl || L'k ? ? min || xi ? cl ||
l ?1,?, k l ?1,?, k
i ?1 i ?1
クラスタ数K
29. Rでギャップ统计量を使ってデータの
クラスタ数を推定する
> library(SLmisc) Package SLmisc
> x <- iris[,1:4]
> gap <- c() やっぱりIrisデータ
> for (i in 1:20){ 150x4 ,3class
+ kg <- kmeansGap(x)
ギャップ統計
+ nc <- length(kg$cluster$size) 量を求める。 20回
+ gap <- c(gap,nc)
推定されたク くりか
+}
えし
> par(ps=16) ラスタ数を取
> plot(table(gap),xlab="k : num. 得する。
of clusters",ylab="freq.")
推定されたクラス
タ数のヒストグラ
ムを作成