クラスター分析入門 高崎経済大学 宮田 庸一 データ x2 1 A 1 1 2 B 1 2 3 C 3 1 4 D 6 6 5 E 8 7 6 F 9 1 7 G 10 2 E 7 x1 D 6 ラベル 4 2 B 1 3 y 5 番号 A G C 2 F 4 6 x 8 10 クラスター分析 • 直感的に3 つのグループに分けられることが わかる • クラスター分析≒ ”データが近いものは同じグ ループ”と考える 類似度 データ • データとデータの”近さ”を測る • 2点間の距離を”近さ”として考える • 【例】 点A と点B の近さ d12 (1 1) (2 1) 1 2 2 •Aには1, B には2,Cには3 と、数を割り振り、 点A とC の距離であればd13とする 類似度行列 A B C D E F G A 0 1 2 7.07 9.22 8 9.06 B 1 0 2.24 6.4 8.6 8.06 9 C 2 2.24 0 5.83 7.81 6 7.07 D 7.07 6.4 5.83 0 2.24 5.83 5.66 E 9.22 8.6 7.81 2.24 0 6.08 5.39 F 8 8.06 6 5.83 6.08 0 1.41 G 9.06 9 7.07 5.66 5.39 1.41 0 d13 d23 群平均法 • A とB が一番近いことがわかる • 2 つの点をまとめて1 つの群にする. これは (A,B) という記号で表す • 次に(A,B),C,D,E,F,G それぞれの近さを測る • A とB という点を含んだ群1 と点C との距離 をd(1,2)3 と表す d13 d23 d(1,2)3 2 群と点の距離 •A •B d13 •C d23 d13 d23 2 2.24 d(1,2)3 2.12 2 2 群と群の距離 d14 •A d13 d24 •B •D •C d23 d13 d14 d23 d24 2 + 7.07+ 2.24 + 6.4 d(1,2)(3,4) 4.4275 4 4 クラスタリングの一連の作業 • • • • • • • • A,B,C,D,E,F,G 一番近いのはA とB の距離d12=1 →(A,B),C,D,E,F,G 2番目に近いのはF とG の距離d67=1.4 (A,B)とCの距離d(1,2)3=2.12 その他の距離も計算→ F とG の距離が近い →(A,B),C,D,E,(F,G) →(A,B,C),D,E,(F,G) デンドログラム 4 G F B A E C 1 d(1,2)3=2.12 D 2 3 きりの良い場所で線 を引く 高さ 5 6 7 Cluster Dendrogram Ward法(クラスター内平方和) 群2 群1 •A(x1,y1) •D(x4,y4) ( x1, y1 ) •B(x2,y2) •C(x3,y3) •E(x5,y5) x1 x2 x3 x4 1 y1 y2 y3 y4 x y 4 4 1 S ( x1 x1 )2 ( y1 y1 )2 ( x2 x1 )2 ( y2 y1 )2 ( x3 x1 )2 ( y3 y1 )2 ( x4 x1 )2 ( y4 y1 )2 ( x5 x 2 )2 ( y5 y 2 )2 x 2 x5 y 2 y5 Ward法(クラスター内平方和) 群2 群1 •A(x1,y1) •D(x4,y4) •B(x2,y2) •C(x3,y3) ( x1, y1 ) •E(x5,y5) x1 x2 x5 1 y1 y2 y5 2 x3 x4 2 y3 y4 x y x y 3 5 2 2 1 S ( x1 x1 )2 ( y1 y1 )2 ( x2 x1 )2 ( y2 y1 )2 ( x5 x1 )2 ( y5 y1 )2 ( x3 x 2 )2 ( y3 y 2 )2 ( x4 x 2 )2 ( y4 y 2 )2 Ward法 • 群1 と群2 を合わせたものと, 群1 と点E を合 わせたものなど, どのクラスター内平方和が 小さくなるのかを調べ, 最も小さくなるほうの 群と結合する • 最初は与えられたn 個のデータはそれぞれ 別のクラスターだと考えて, その中で上の基 準で群と群をまとめていって最後には1 つの クラスターにまとめる方法をWard法と言う. R(インポート) • データのインポート data02<-read.csv("c:\\Program Files \\R\\principal_data02.csv",header=T,row.name="name") と入力しEnterを押す name 国語 社会 数学 物理 英語 相川 英之 91 98 63 72 88 吾妻 博 57 70 83 79 63 阿部 美穂 63 64 78 82 66 飯田 卓也 66 67 67 40 82 上原 広幸 55 66 70 59 66 内田 弓子 95 95 81 76 91 14 Rによる実行 • • • • • • 群平均法 hc<-hclust(dist(data02),"ave") plot(hc,xlab="",ylab="高さ",sub="") Ward法 hc<-hclust(dist(data02),“ward") plot(hc,xlab="",ylab="高さ",sub="")
© Copyright 2024 ExpyDoc