SlideShare a Scribd company logo
1 of 23
Download to read offline
クラスター分析とR
発表者:原田伸也
Who am I? 自己紹介
年齢:21歳
住所:徳島市内
身分:来年センター試験を受験します。徳島大学工学部知能情
報の夜間を受験します。受かれば晴れて大学生になれます。
趣味:数学が好きです。今は機械学習の勉強をするために、線
形代数、解析、ベイズ統計学を勉強している最中です。プログ
ラミングはRとかの勉強を最近始めました。
このプレゼンの進め方
•
クラスター分析についての説明
•
Rでクラスター分析をやってみよう。
•
ベイズ統計学についての説明
•
Rでベイズ統計学をやってみよう。
間違ってたらごめんなさい。
ねらい
少しでもRや統計、データ解析に少しでも興味を持っていただ
けたら幸いです。
Rとは?
ざっくり説明すると、Rとは無料の統計解析ソフトです。これ
を使うと簡単にデータ分析ができます。
今日はRを使ってクラスター分析をしてみます。
DebianにRをインストールしよう
sudo apt-get install r-base
クラスター分析とは?
クラスター分析とは、対象の集合を、よく似たもの同士にグ
ループ分けすることです。
(例)
地球上からランダムに100人の人間を抽出します。彼らを眼の
色や髪の色、肌の色の違いによってグループ分けします。そうす
れば、おおよそ、黄色い人、黒い人、白い人に分けられるで
しょう。
上の例のようなことがクラスター分析です。
もう少し踏み込んで説明する。
クラスター分析は学習データがある場合と学習データがない場
合に分けられます。
学習データとは、すでにグループ分けされているグループのこ
とです。
今回のクラスター分析では、すでにグループ分けされている
データを用いて、まだグループ分けされていないデータをグ
ループ分けしていきます。
また、すでにグループ分けされているグループを訓練データと
も言います。
階層的クラスター分析
今回は階層的クラスター分析を用います。
階層的クラスター分析とは、個体間の類似度を距離で表して
、グループ分けする手法です。
クラスター分析のおおまかな流れ
1.データから距離や相関係数を求める
2.どんなクラスター分析の手法を使うかを決定する
3.選択された手法で相関係数行列を求める
4. 相関係数行列に基づいて樹形図を作成する
5. 結果について検討を人間が行う。
  
Rでクラスター分析を実際にやってみる
データを入力する
以下のコードを入力する。
# 7行5列を作成する
seiseki <- matrix(c(80,90,67,46,50,57,70,80,85,90,
80,90,35,40,50,40,60,50,45,55,
78,85,45,55,60,55,40,65,80,75,
90,85,88,92,95),7,5)
# 列にラベルを付ける
colnames(seiseki) <- c("算数","理科","国語","英語","社会")
# 行にラベルを付ける
rownames(seiseki) <- c("田中" , "佐藤" ,"鈴木","本田","川端","吉野","斉藤")
すると、こんな感じに!
> seiseki
算数 理科 国語 英語 社会
田中 80 80 50 85 80
佐藤 90 85 40 45 75
鈴木 67 90 60 55 90
本田 46 80 50 60 85
川端 50 90 45 55 88
吉野 57 35 55 40 92
斉藤 70 40 78 65 95
距離行列を求める
> seiseki.d <- dist(seiseki)
> round(seiseki.d)
田中 佐藤 鈴木 本田 川端 吉野
佐藤 43
鈴木 37 36
本田 42 49 26
川端 45 44 23 13
吉野 69 64 58 51 58
斉藤 56 68 54 56 64 37
・roundは小数点を丸める
・上三角行列が空白なの
は対称行列だから。
この場合だと、最も距離が近いのは
(川端、本田)の13である。
(川端、本田)のペアが一番
近いのでそこの二人がまず
クラスターを結成する。
田中 佐藤 鈴木 本田 川端 吉野
佐藤 43
鈴木 37 36
本田 42 49 26
川端 45 44 23 13
吉野 69 64 58 51 58
斉藤 56 68 54 56 64 37
川端、本田のペアが距離が一番
近いので、まず二人がグループを
つくる。
次に鈴木、川端のペアの距離が
近いので、鈴木も同じグループに
加えられる。
川端、本田 川端、本田、鈴
木
同じグループに入れるか、別のグループに入れるかは、何らかのルール
を用いるのが望ましい。
・距離が離れすぎるとグループに入れないとか??
それぞれの要素の距離行列を求める。次にそれらを、距離が近い順
にグループ分けする。さらにそれらのグループ同士の距離を測る。
これらのグループ同士の距離の測る方法はたくさんあるが、ここでは
最遠近法(complete method)を用いる。
最遠隣法について
(complete method)
二つのグループ間のそれぞれの個体間の距離を求める。
それぞれの個体間の距離の中で、もっとも遠い距離の値
を二つのグループ間の距離とする。
Group 1
Group 2
実践
> sei.hc <- hclust(seiseki.d)
> sei.hc
Call:
hclust(d = seiseki.d)
Cluster method : complete
Distance : euclidean
Number of objects: 7
> plot(sei.hc)
・hclustでクラスター分析を行う
・completeは最遠隣法
・plot()で出力
出力図
> cutree(sei.hc,k=2)
tanaka satou suzuki honda kawabata yoshino saitou
1 1 1 1 1 2 2
クラスター数を制限する
二つのクラスターにしたい場合、k=2を代入すればよい。
おまけ:非階層的クラスター分析
データ数が多いときには、こちらの手法がよく使われる。
実践
>library(cluster)
> plot(pam(seiseki[,1:5],2),ask=TRUE)
算数 理科 国語 英語 社会
田中 80 80 50 85 80
佐藤 90 85 40 45 75
鈴木 67 90 60 55 90
本田 46 80 50 60 85
川端 50 90 45 55 88
吉野 57 35 55 40 92
斉藤 70 40 78 65 95
R とクラスター

More Related Content

Viewers also liked

20140614 tokyo r lt
20140614 tokyo r lt 20140614 tokyo r lt
20140614 tokyo r lt tetsuro ito
 
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析hnisiji
 
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編Koichi Hamada
 
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-Koichi Hamada
 
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)Hiroshi Shimizu
 
今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門toilet_lunch
 
エクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについてエクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについてHiroshi Shimizu
 
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布sleipnir002
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)Takao Yamanaka
 

Viewers also liked (11)

20140614 tokyo r lt
20140614 tokyo r lt 20140614 tokyo r lt
20140614 tokyo r lt
 
TokyoR40
TokyoR40TokyoR40
TokyoR40
 
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
 
潜在クラス分析
潜在クラス分析潜在クラス分析
潜在クラス分析
 
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
 
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
 
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
 
今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門
 
エクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについてエクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについて
 
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
 

R とクラスター