Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TokyoR#54 コサイン距離を用いたクラスタリング
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
bob3bob3
January 12, 2022
Programming
490
0
Share
TokyoR#54 コサイン距離を用いたクラスタリング
コサイン距離を用いたクラスタリング。
2016年6月。
bob3bob3
January 12, 2022
More Decks by bob3bob3
See All by bob3bob3
RとLLMで自然言語処理
bob3bob3
3
880
RでPSM分析
bob3bob3
1
440
Rでコンジョイント分析 2024年版
bob3bob3
0
2.4k
『改訂新版前処理大全』の話と Apache Parquet の話 #TokyoR
bob3bob3
0
1.4k
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
650
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
590
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
660
qeMLパッケージの紹介
bob3bob3
0
2.5k
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
650
Other Decks in Programming
See All in Programming
Moments When Things Go Wrong
aurimas
3
110
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
230
inferと仲良くなる10分間
ryokatsuse
1
250
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
200
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
430
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
210
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
190
20260514_its_the_context_window_stupid.pdf
heita
0
1.1k
OSもどきOS
arkw
0
140
AI時代になぜ書くのか
mutsumix
0
450
バックエンドにElysiaJSを採用して気付いた、良い点・悪い点
wanko_it
1
170
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
6
920
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
320
How to train your dragon (web standard)
notwaldorf
97
6.6k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
250
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Statistics for Hackers
jakevdp
799
230k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
350
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
550
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Into the Great Unknown - MozCon
thekraken
41
2.5k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
150
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Transcript
コサイン類似度を用いた クラスタリング @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パッケージを使ってみる # コサイン距離を使ったkmeans library(skmeans) set.seed(1234) #再現性のための乱数種設定 res <- skmeans(Groceries.stm, k=05)
table(res$cluster) #各クラスタのサイズ aggregate(Groceries.mat, by=list(res$cluster), mean)
Enjoy!