K-meansクラスタリング 階層的クラスタリング • 最短距離法(最近隣法) • 最長距離法(最遠隣法) • 群平均法 • ウォード法 • 樹形図 非階層的(分割最適化)クラスタリング • k平均法(k-means法) • クラスタ𝐶𝑖 の重心𝒄𝑖 を代表点として,次の評価関数を最小化するように𝑘個 のクラスタを分割する. 𝑘 𝑑 𝒙, 𝒄𝑖 𝑖=1 𝒙∈𝐶𝑖 2 アルゴリズム 1. 𝑘個の代表点 𝑐1 , ⋯ , 𝑐𝑘 をランダムに選択する. 2. 𝑋 中の全ての対象𝑥を𝑐 ∗ = arg min 𝑑(𝒙, 𝒄𝑖 ) なる代表点をもつクラスタ 𝐶 ∗ 𝑐𝑖 に割り当てる. 3. 代表点への割り当てが変化しないならば終了し,そうでなければ各クラス タのセントロイドを代表点にしてステップ2へ戻る. 関数 kmeans kmeans(x, centers, iter.max = 10, nstart = 1, algorithm = c("Hartigan-Wong", "Lloyd", "Forgy", "MacQueen"), trace=FALSE) • • • • • x 分類する元データ centers クラスタ数 iter.max = 10繰り返し最大数.デフォルトは10回 nstart = 1 ランダムに初期値を設定するパラメータ. algorithm = c("Hartigan-Wong", "Lloyd", "Forgy", "MacQueen") 分類アルゴリズム,デフォルトはHartigan-Wongでこれが最も良い. • trace=FALSE Hartigan-Wongだけで用いる.TRUEで探索経過をトレースする. 練習問題1 • 次の4点を階層的クラスタリング法で クラスタリングする. a(1,2) , b(2,2), c(4,4) , d(6,1) 練習問題1(1) • vec <- c(1,2,2,2,4,4,6,1) • データを入力する. • data <- matrix(vec,4,2,byrow=T) • サンプルデータをマトリックス形式に整理する. • colnames(data) <- c("x","y") • 列に名前をつける. • rownames(data) <- c("a","b","c","d") • 行に名前をつける. 練習問題1(2) • kmeans(data,3) • サンプルデータを3クラスタ に分類する. K-means clustering with 3 clusters of sizes 2, 1, 1 Cluster means: xy 1 1.5 2 2 6.0 1 3 4.0 4 Clustering vector: abcd 1132 Within cluster sum of squares by cluster: [1] 0.5 0.0 0.0 (between_SS / total_SS = 97.4 %) Available components: [1] "cluster" [8] "iter" "centers" "ifault" "totss" "withinss" "tot.withinss" "betweenss" "size" 練習問題1(3) • res <- kmeans(data,3) • 結果を変数resに入力する. • res$cluster • クラスタの結果を表示する. abcd 1123 • res$center • クラスタ中心座標を返す. xy 1 1.5 2 2 4.0 4 3 6.0 1 他の変数 cluster centers totss withinss tot.withinss betweenss size iter ifault A vector of integers (from 1:k) indicating the cluster to which each point is allocated. A matrix of cluster centres. The total sum of squares. Vector of within-cluster sum of squares, one component per cluster. Total within-cluster sum of squares, i.e. sum(withinss). The between-cluster sum of squares, i.e. totss-tot.withinss. The number of points in each cluster. The number of (outer) iterations. integer: indicator of a possible algorithm problem – for experts. 演習問題1 • K-means法により2クラスタに分類せよ. 名前 A B C D E F 最高血圧 80 60 160 140 100 200 たばこ本数/日 5 3 8 6 6 10 演習問題2 • 新しい携帯電話についてアンケートをとったところ,以下のような結 果となった.K-means法により2クラスタに分類せよ. A B C D E F G 年齢 25 35 70 50 30 20 40 性別 男 女 男 女 女 女 男
© Copyright 2024 ExpyDoc