SlideShare a Scribd company logo
コサイン類似度を用い
た
クラスタリング
@bob3bob3
Tokyo.R #54
2016/06/19
お伝えしたいこと
● いわゆるビッグデータによくあるスパースな行
列のクラスタリングにはコサイン類似度を使う
といい感じだよ。
● コサイン類似度を用いたクラスタリングは
skmeansパッケージで実行できるよ。
●
このLTの内容は『マーケティング・サイエンス
のトップランナーたち』の第2章「商品市場を
細分化するビッグデータ適合型クラスター分析
の活用」がネタ元だよ。
同じような購買傾向の消費者を
グループ化したい
ケース1 ビール ワイン 日本酒 焼酎 ウイス
キー
Aさん 1 1
Bさん 1
ケース2 ビール ワイン 日本酒 焼酎 ウイス
キー
Cさん 1 1 1
Dさん 1 1 1 1
この二人は別々のグループにしたい
この二人は同じグループにしたい
K-means法で使用される
ユークリッド距離だと
ケース1 ビール ワイン 日本酒 焼酎 ウイス
キー
Aさん 1 1
Bさん 1
ケース1 ビール ワイン 日本酒 焼酎 ウイス
キー
Aさん 1 1 1
Bさん 1 1 1 1
ユークリッド距離:1.732
ユークリッド距離:1.732
1-コサイン類似度だと
ケース1 ビール ワイン 日本酒 焼酎 ウイス
キー
Aさん 1 1
Bさん 1
ケース1 ビール ワイン 日本酒 焼酎 ウイス
キー
Aさん 1 1 1
Bさん 1 1 1 1
1−コサイン類似度:1.000
1−コサイン類似度:0.423
skmeansパッケージを使ってみる
# 関連規則のパッケージに入っているサンプルデータを使う
library(arules)
# transactions形式のサンプルデータ
data(Groceries)
#スパースなデータを扱いやすくするパッケージ。圧倒的に処理が早い。
library(slam)
#transactions形式からmatrix形式に
Groceries.mat <- as(Groceries,"matrix")
#真偽値を0/1に変換
Groceries.mat <- ifelse(Groceries.mat==TRUE,1,0)
#matrix形式からstm形式へ
Groceries.stm <- as.simple_triplet_matrix(Groceries.mat)
skmeansパッケージを使ってみる
library(skmeans) #コサイン距離を使ったkmeans
set.seed(1234) #再現性のための乱数種設定
res <- skmeans(Groceries.stm, k=05)
table(res$cluster) #各クラスタのサイズ
aggregate(Groceries.mat, by=list(res$cluster), mean)
Enjoy!

More Related Content

What's hot

PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
tmtm otm
 
PRML 8.2 条件付き独立性
PRML 8.2 条件付き独立性PRML 8.2 条件付き独立性
PRML 8.2 条件付き独立性
sleepy_yoshi
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデル
Masahiro Suzuki
 
「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究について
Masahiro Suzuki
 
よくわかるフリストンの自由エネルギー原理
よくわかるフリストンの自由エネルギー原理よくわかるフリストンの自由エネルギー原理
よくわかるフリストンの自由エネルギー原理
Masatoshi Yoshida
 
【DL輪読会】Scaling laws for single-agent reinforcement learning
【DL輪読会】Scaling laws for single-agent reinforcement learning【DL輪読会】Scaling laws for single-agent reinforcement learning
【DL輪読会】Scaling laws for single-agent reinforcement learning
Deep Learning JP
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方
Shinagawa Seitaro
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
Arithmer Inc.
 
[DL輪読会]Temporal Abstraction in NeurIPS2019
[DL輪読会]Temporal Abstraction in NeurIPS2019[DL輪読会]Temporal Abstraction in NeurIPS2019
[DL輪読会]Temporal Abstraction in NeurIPS2019
Deep Learning JP
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
 
BERT分類ワークショップ.pptx
BERT分類ワークショップ.pptxBERT分類ワークショップ.pptx
BERT分類ワークショップ.pptx
Kouta Nakayama
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門Momoko Hayamizu
 
三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)
Tomohiro Motoda
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
Naoaki Okazaki
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説
tancoro
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)
Masahiro Suzuki
 
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
西岡 賢一郎
 

What's hot (20)

PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 
PRML 8.2 条件付き独立性
PRML 8.2 条件付き独立性PRML 8.2 条件付き独立性
PRML 8.2 条件付き独立性
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデル
 
「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究について
 
よくわかるフリストンの自由エネルギー原理
よくわかるフリストンの自由エネルギー原理よくわかるフリストンの自由エネルギー原理
よくわかるフリストンの自由エネルギー原理
 
【DL輪読会】Scaling laws for single-agent reinforcement learning
【DL輪読会】Scaling laws for single-agent reinforcement learning【DL輪読会】Scaling laws for single-agent reinforcement learning
【DL輪読会】Scaling laws for single-agent reinforcement learning
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
[DL輪読会]Temporal Abstraction in NeurIPS2019
[DL輪読会]Temporal Abstraction in NeurIPS2019[DL輪読会]Temporal Abstraction in NeurIPS2019
[DL輪読会]Temporal Abstraction in NeurIPS2019
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
BERT分類ワークショップ.pptx
BERT分類ワークショップ.pptxBERT分類ワークショップ.pptx
BERT分類ワークショップ.pptx
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門
 
三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)
 
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
 

More from osamu morimoto

Tokyo.R #76 lavaan plot
Tokyo.R #76 lavaan plotTokyo.R #76 lavaan plot
Tokyo.R #76 lavaan plot
osamu morimoto
 
クラスタ数の決め方(Tokyo.r#60)
クラスタ数の決め方(Tokyo.r#60)クラスタ数の決め方(Tokyo.r#60)
クラスタ数の決め方(Tokyo.r#60)
osamu morimoto
 
Rでコンジョイント分析
Rでコンジョイント分析Rでコンジョイント分析
Rでコンジョイント分析osamu morimoto
 
Tokyo.R #22 Association Rules
Tokyo.R #22 Association RulesTokyo.R #22 Association Rules
Tokyo.R #22 Association Rules
osamu morimoto
 
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_mapTokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_maposamu morimoto
 
Tokyo.R8 brand positioning 2010.08.28.
Tokyo.R8 brand positioning 2010.08.28.Tokyo.R8 brand positioning 2010.08.28.
Tokyo.R8 brand positioning 2010.08.28.
osamu morimoto
 
Tokyo r7 sem_20100724
Tokyo r7 sem_20100724Tokyo r7 sem_20100724
Tokyo r7 sem_20100724
osamu morimoto
 
tokyo webmining3 2010.04.17.
tokyo webmining3 2010.04.17.tokyo webmining3 2010.04.17.
tokyo webmining3 2010.04.17.osamu morimoto
 

More from osamu morimoto (10)

Tokyo.R #76 lavaan plot
Tokyo.R #76 lavaan plotTokyo.R #76 lavaan plot
Tokyo.R #76 lavaan plot
 
クラスタ数の決め方(Tokyo.r#60)
クラスタ数の決め方(Tokyo.r#60)クラスタ数の決め方(Tokyo.r#60)
クラスタ数の決め方(Tokyo.r#60)
 
Rでコンジョイント分析
Rでコンジョイント分析Rでコンジョイント分析
Rでコンジョイント分析
 
Tokyo.R #22 Association Rules
Tokyo.R #22 Association RulesTokyo.R #22 Association Rules
Tokyo.R #22 Association Rules
 
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_mapTokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
 
Tokyo.R8 brand positioning 2010.08.28.
Tokyo.R8 brand positioning 2010.08.28.Tokyo.R8 brand positioning 2010.08.28.
Tokyo.R8 brand positioning 2010.08.28.
 
Tokyo r7 sem_20100724
Tokyo r7 sem_20100724Tokyo r7 sem_20100724
Tokyo r7 sem_20100724
 
Tokyo r6 sem3
Tokyo r6 sem3Tokyo r6 sem3
Tokyo r6 sem3
 
Tokyo webmining5
Tokyo webmining5Tokyo webmining5
Tokyo webmining5
 
tokyo webmining3 2010.04.17.
tokyo webmining3 2010.04.17.tokyo webmining3 2010.04.17.
tokyo webmining3 2010.04.17.
 

コサインクラスタリング