狠狠撸

狠狠撸Share a Scribd company logo
Python機械学習プログラミング
読み会
第11章
クラスタ分析 - ラベルなしデータの分析
1
[第2版]
基盤 江口春纪
目次
● k-means法を使った類似度によるオブジェクトのグループ化
● クラスタを階層木として構成する
● DBSCANを使って高密度の領域を特定する
2
クラスタ分析 - ラベルなしデータの分析
● クラスタ分析
● 教師なし学習。
● 正しい答えが事前に分かっていないデータから隠れた構造を見つけ出す。
3
4
k-means法を使った
類似度によるオブジェクトのグループ化
k-means法を使った類似度によるオブジェクトのグループ化
● k-means法(k-means algorithm)
● 類似したオブジェクトをグループにまとめることができる。
● レコメンデーションエンジンのベースとして、異なるテーマの文書、
音楽映画を同じグループにまとめること、などができる。
5
POP
Rock
Jazz
scikit-learnを使ったk-meansクラスタリング
● k-means法
● プロトタイプベースクラスタリングに属する手法。
(他に階層的クラスタリングと密度ベースクラスタリングがある)
● もっとも効果を発揮するのは球状または円状のクラスタの分類である。
● クラスタの適切な個数kを決定する必要がある。(後述)
6
scikit-learnを使ったk-meansクラスタリング
● k-means法を説明するための簡易的な例
● ランダムに生成された150個のサンプル点を用意する。
7
from sklearn.datasets import make_blobs
X, y = make_blobs(n_samples=150,
n_features=2,
centers=3,
cluster_std=0.5,
shuffle=True,
random_state=0)
plt.scatter(X[:, 0], X[:, 1],
c='white', marker='o', edgecolor='black',
s=50)
plt.grid()
plt.tight_layout()
plt.show()
scikit-learnを使ったk-meansクラスタリング
● k-means法のアルゴリズム
1. クラスタの中心の初期値として、サンプル点からk個のセントロイドをランダムに選択する。
2. 各サンプルをもっとも近いセントロイドに割り当てる。
3. セントロイドに割り当てられたサンプルの中心にセントロイドを移動する。
4. クラスタ割り当てが変化しなくなるか、指定したイテレーションの回数2~3を繰り返す。
8
1 2 3
scikit-learnを使ったk-meansクラスタリング
● オブジェクトの類似度
● オブジェクトの類似度は「距離が離れていないこと」として定義ができる。
オブジェクトの類似度を測る指標として、ユークリッド距離を用いた、
クラスタ内誤差平方和(SSE)を使用する。このSSEを最小化するような最適化問題を
取り上げる。
9
クラスタjの中心点(セントロイド)
サンプル点x^(i)がクラスタ内に存在する場合は
w=1、そうでない場合はw=0となる
scikit-learnを使ったk-meansクラスタリング
● サンプルデータへの適用
10
from sklearn.cluster import KMeans
km = KMeans(n_clusters=3,
init='random',
n_init=10,
max_iter=300,
tol=1e-04,
random_state=0)
y_km = km.fit_predict(X)
scikit-learnを使ったk-meansクラスタリング
● k-meansで注意すべき点
● クラスタの個数kを指定する必要がある。
● 空になるクラスタが存在する可能性がある。scikit-learnの実装では、この問題を
回避している。
クラスタが空である場合、空のクラスタのセントロイドからもっとも離れた
サンプルを探し、そのサンプル点をセントロイドに変更する。
11
k-means++法を使ってセントロイドの初期値をよりスマートに設定する
● k-means++
● 最初のセントロイドの選択の時、セントロイドを互いに離れた位置に配置することで、
k-means法よりも効果的な、より一貫性のある結果が得られる。
12
k-means++法を使ってセントロイドの初期値をよりスマートに設定する
● k-means++法による初期化
1. 選択の対象となるk個のセントロイドを格納するために、空のデータセットMを初期化する。
2. 入力サンプルから初期のセントロイドμをランダムに選択し、Mに割り当てる。
3. Mに含まれていないサンプルxごとに、Mのセントロイドに対して距離の2乗d(x, M)^2
が最小となるセントロイドを求める。
4. 次のセントロイドμをランダムに選択するために、各サンプルとの距離によって重み付けされ
た確率分布を使用する。
5. k個のセントロイドが選択されるまで3~4を繰り返す。
13
https://wasyro.github.io/k-meansppVisualizer/
ハードクラスタリングとソフトクラスタリング
● ハードクラスタリング
● データセットのサンプルがそれぞれちょうど1つのクラスタに割り当てられるアルゴリズム。
● ソフトクラスタリング
● サンプルを1つ以上のクラスタに割り当てるアルゴリズム。
ファジークラスタリングとも呼ばれる。
● ソフトクラスタリングの代表的な例として、Fuzzy C-means法(FCM)がある。
14
ハードクラスタリングとソフトクラスタリング
● Fuzzy C-means法(FCM)
● 通常のハードクラスタリングではサンプルの帰属が0か1かで判断されるが、
ソフトクラスタリングでは、「あるクラスターには0.8帰属し、
別のクラスターには0.2帰属する」というような確率に置き換えられる。
15
ハードクラスタリング ソフトクラスタリング
ハードクラスタリングとソフトクラスタリング
● FCM法のアルゴリズム
1. セントロイドの個数kを指定し、各サンプル点に対してクラスタメンバシップ確率を
ランダムに割り当てる。
2. クラスタのセントロイドを計算する。
3. 各サンプルのクラスタメンバシップ確率を変更する。
4. クラスタメンバシップ確率の係数が変化しなくなるか、ユーザ定義の許容値、
またはイテレーションの最大回数に達するまで2~3を繰り返す。
16
ハードクラスタリングとソフトクラスタリング
● FCM法の目的変数J
● k-means法によって最小化されるクラスタ内誤差平方和(SSE)とよく似ている。
17
0と1の二値ではなくクラスタメンバシップ確率
を表す実数値である。
ファジー性の度合いを制御するファジー係数。
mの値が大きくなるほどクラスタメンバシップ確率w
は小さくなりよりファジーなクラスタとなる。
ハードクラスタリングとソフトクラスタリング
● FCM法のクラスタメンバシップ確率w
● クラスタ自体の中心μは、そのクラスタの全てのサンプルの平均として計算できる。
サンプルは独自のクラスタに対するクラスタメンバシップ確率の度合いで重み付けされる。
18
エルボー法を使ってクラスタの最適な個数を求める
● 教師なし学習の課題
● 教師なし学習は明確な正解がないので、クラスタリングの性能を数値化するには、
クラスタ内誤差平方和(SSE)のような指標を用いて性能を比較する必要がある。
● kの値が増えるとSSEの値は小さくなる。エルボー法という図解によって、kを変化させた時
SSEが最も急激に増え始めるkを特定することができる。
19
エルボー
シルエット図を使ってクラスタリングの性能を数値化する
● シルエット分析
● クラスタ内のサンプルがどの程度密にグループ化されているか(凝集度)の目安となる
グラフをプロットする。
(1つのクラスターが隣接するクラスターとどれくらい離れているかを可視化する。)
● k-means法以外のクラスタリングアルゴリズムにも適用できる。
20
シルエット図を使ってクラスタリングの性能を数値化する
● シルエット分析のアルゴリズム
1. クラスタの凝集度a^(i)を計算する。この凝集度は同一クラスのサンプルx^(i)と他の
全サンプルとの平均距離として計算する。
2. 最も近いクラスタからの乖離度b^(i)を計算する。この乖離度は、サンプルx^(i)と最も近くに
あるクラスタ内の全サンプルとの平均距離として計算する。
3. クラスタの凝集度と乖離度の差を、それらのうちの大きい方の値で割り、
シルエット係数s^(i)を計算する。
21
シルエット図を使ってクラスタリングの性能を数値化する
● シルエット係数のプロット
22
from sklearn.metrics import silhouette_samples
cluster_labels = np.unique(y_km)
n_clusters = cluster_labels.shape[0]
silhouette_vals = silhouette_samples(X, y_km, metric='euclidean')
y_ax_lower, y_ax_upper = 0, 0
yticks = []
for i, c in enumerate(cluster_labels):
c_silhouette_vals = silhouette_vals[y_km == c]
c_silhouette_vals.sort()
y_ax_upper += len(c_silhouette_vals)
color = cm.jet(float(i) / n_clusters)
plt.barh(range(y_ax_lower,y_ax_upper),
c_silhouette_vals,
height=1.0,
edgecolor='none',
color=color)
yticks.append((y_ax_lower + y_ax_upper) / 2.)
y_ax_lower += len(c_silhouette_vals)
シルエット図を使ってクラスタリングの性能を数値化する
● 悪いクラスタリングの例
● k=2でk-meansを実行し、シルエット係数を算出する。
23
明らかにシルエット係数が低い
24
クラスタを階層木として構成する
クラスタを階層木として構成する
● 階層的クラスタリング
● プロトタイプベースのクラスタリングのうちの1つだが、クラスタの個数を事前に
指定する必要がない。
● 樹形図をプロットできる。樹形図は二分木の階層的クラスタリングを可視化した
ものであり、意味のある分割を作成することで、結果を解釈するのに役立つ。
25
クラスタを階層木として構成する
● 凝集型階層的クラスタリング
● 個々のサンプルを1つのクラスタと扱い、クラスタが1つだけ残った状態になるまで
最も近くにある2つのクラスタをマージしていく。
● 分割型階層的クラスタリング
● まず全てのサンプルを包含する1つのクラスタを定義し、全てのクラスタにサンプルが
1つだけ含まれた状態になるまでクラスタをより小さなクラスタに分割していく。
26
ボトムアップ方式でのクラスタのグループ化
● 凝集型階層的クラスタリング
● 単連結法(single linkage)
● クラスタのペアごとに最も類似度の高いメンバー同士の距離を計算し、
それらの距離が最小になるような方法で2つのクラスタをマージする。
● 完全連結法(complete linkage)
● クラスタのペアごとに最も類似度の高いメンバー同士を比較するのではなく、
最も類似度の低いメンバー同士を比較する。
27
単連結
完全連結
ボトムアップ方式でのクラスタのグループ化
● 完全連結法
1. 全てのサンプルの距離行列を計算する。
2. 各データ点を単一のクラスタとみなして表現する。
3. 最も類似度の低いメンバーの距離に基づき、2つの最も近いクラスタをマージする。
4. 距離行列を更新する。
5. クラスタが1つだけ残った状態になるまで、3~4を繰り返す。
28
距離行列で階層的クラスタリングを実行する
● 完全連結法の実行
● クラスタリングの結果
29
from scipy.cluster.hierarchy import linkage
row_clusters = linkage(
pdist(df, metric='euclidean'),
method='complete'
)
30
DBSCANを使って
高密度の領域を特定する
DBSCANを使って高密度の領域を特定する
● DBSCAN(Density-based spatial clustering of applications with noise)
● 密度ベースのクラスタリングで、サンプル点の局所的な密度に基づいて
クラスタラベルを割り当てる。
「密度」とは指定された半径ε以内に存在する点の個数として定義される。
31
コア点 : 半径ε以内に少なくともminPts個の隣接点を持つ点。
ボーダー点 : 半径ε以内にminPts個ほどは隣接点がないが,
半径ε以内にコア点を持つ点
ノイズ点 : 半径ε以内に隣接点がない点
DBSCANを使って高密度の領域を特定する
● DBSCANのメリット
● k-meansと違って,クラスタ数を決める必要がない。
● クラスタが球状であることを前提としないので、とがったクラスタでも分類できる。
● ノイズが除去できる。
● DBSCANのデメリット
● データが密集していると適切にεとminPtsを決めるのが困難である。
● クラスタ間で密度が異なるようなデータの場合、期待通りのクラスタリングができない。
32
DBSCANを使って高密度の領域を特定する
● 他のアルゴリズムとの比較
● k-means法と階層的クラスタリングとの比較結果
33
まとめ
● k-means法
● 指定された個数のクラスタのセントロイドに基づいて、サンプルが球状に
クラスタリングされる。
● 凝集型階層的クラスタリング
● クラスタの個数を事前に指定する必要はなく、結果は樹形図として表示される。
● DBSCAN
● 局所的な密度に基づいて点をグループ化するアルゴリズムであり、外れ値の処理や
球状以外の形状を識別できる。
● 性能指標
● エルボー法、シルエット分析
34
Ad

Recommended

NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
Takami Sato
?
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
Deep Learning JP
?
[DL輪読会] Learning from Simulated and Unsupervised Images through Adversarial T...
[DL輪読会] Learning from Simulated and Unsupervised Images through Adversarial T...
Deep Learning JP
?
実践多クラス分類 Kaggle Ottoから学んだこと
実践多クラス分類 Kaggle Ottoから学んだこと
nishio
?
【DL輪読会】Transformers are Sample Efficient World Models
【DL輪読会】Transformers are Sample Efficient World Models
Deep Learning JP
?
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
Google Cloud Platform - Japan
?
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
Yuya Takashina
?
[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎
Deep Learning JP
?
量子アニーリングマシンのプログラミング
量子アニーリングマシンのプログラミング
nishio
?
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集? ? 精度向上のための仕組み?倫理や社会性バイアス ?
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集? ? 精度向上のための仕組み?倫理や社会性バイアス ?
SSII
?
はし?めてのハ?ターン認識 第5章 k最近傍法(k_nn法)
はし?めてのハ?ターン認識 第5章 k最近傍法(k_nn法)
Motoya Wakiyama
?
ニューラルネットワークを用いた自然言语処理
ニューラルネットワークを用いた自然言语処理
Sho Takase
?
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
Deep Learning JP
?
齿骋叠辞辞蝉迟から狈骋叠辞辞蝉迟まで
齿骋叠辞辞蝉迟から狈骋叠辞辞蝉迟まで
Tomoki Yoshida
?
[DLHacks]Comet ML -機械学習のためのGitHub-
[DLHacks]Comet ML -機械学習のためのGitHub-
Deep Learning JP
?
[DL輪読会]Pay Attention to MLPs (gMLP)
[DL輪読会]Pay Attention to MLPs (gMLP)
Deep Learning JP
?
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
Deep Learning JP
?
【ICLR2023】論文紹介: Image as Set of Points
【ICLR2023】論文紹介: Image as Set of Points
Shoki Miyagawa
?
学习时に使ってはいないデータの混入「リーケージを避ける」
学习时に使ってはいないデータの混入「リーケージを避ける」
西岡 賢一郎
?
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
佑 甲野
?
混合モデルと贰惭アルゴリズム(笔搁惭尝第9章)
混合モデルと贰惭アルゴリズム(笔搁惭尝第9章)
Takao Yamanaka
?
機械学習 入門
機械学習 入門
Hayato Maki
?
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII
?
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
Deep Learning JP
?
Network weight saving_20190123
Network weight saving_20190123
Masakazu Shinoda
?
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
tmtm otm
?
[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural Networks
[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural Networks
Deep Learning JP
?
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
Deep Learning JP
?
Section11 clustering
Section11 clustering
HiroyukiKosho
?
各言語の k-means 比較
各言語の k-means 比較
y-uti
?

More Related Content

What's hot (20)

量子アニーリングマシンのプログラミング
量子アニーリングマシンのプログラミング
nishio
?
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集? ? 精度向上のための仕組み?倫理や社会性バイアス ?
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集? ? 精度向上のための仕組み?倫理や社会性バイアス ?
SSII
?
はし?めてのハ?ターン認識 第5章 k最近傍法(k_nn法)
はし?めてのハ?ターン認識 第5章 k最近傍法(k_nn法)
Motoya Wakiyama
?
ニューラルネットワークを用いた自然言语処理
ニューラルネットワークを用いた自然言语処理
Sho Takase
?
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
Deep Learning JP
?
齿骋叠辞辞蝉迟から狈骋叠辞辞蝉迟まで
齿骋叠辞辞蝉迟から狈骋叠辞辞蝉迟まで
Tomoki Yoshida
?
[DLHacks]Comet ML -機械学習のためのGitHub-
[DLHacks]Comet ML -機械学習のためのGitHub-
Deep Learning JP
?
[DL輪読会]Pay Attention to MLPs (gMLP)
[DL輪読会]Pay Attention to MLPs (gMLP)
Deep Learning JP
?
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
Deep Learning JP
?
【ICLR2023】論文紹介: Image as Set of Points
【ICLR2023】論文紹介: Image as Set of Points
Shoki Miyagawa
?
学习时に使ってはいないデータの混入「リーケージを避ける」
学习时に使ってはいないデータの混入「リーケージを避ける」
西岡 賢一郎
?
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
佑 甲野
?
混合モデルと贰惭アルゴリズム(笔搁惭尝第9章)
混合モデルと贰惭アルゴリズム(笔搁惭尝第9章)
Takao Yamanaka
?
機械学習 入門
機械学習 入門
Hayato Maki
?
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII
?
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
Deep Learning JP
?
Network weight saving_20190123
Network weight saving_20190123
Masakazu Shinoda
?
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
tmtm otm
?
[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural Networks
[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural Networks
Deep Learning JP
?
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
Deep Learning JP
?
量子アニーリングマシンのプログラミング
量子アニーリングマシンのプログラミング
nishio
?
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集? ? 精度向上のための仕組み?倫理や社会性バイアス ?
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集? ? 精度向上のための仕組み?倫理や社会性バイアス ?
SSII
?
はし?めてのハ?ターン認識 第5章 k最近傍法(k_nn法)
はし?めてのハ?ターン認識 第5章 k最近傍法(k_nn法)
Motoya Wakiyama
?
ニューラルネットワークを用いた自然言语処理
ニューラルネットワークを用いた自然言语処理
Sho Takase
?
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
Deep Learning JP
?
齿骋叠辞辞蝉迟から狈骋叠辞辞蝉迟まで
齿骋叠辞辞蝉迟から狈骋叠辞辞蝉迟まで
Tomoki Yoshida
?
[DLHacks]Comet ML -機械学習のためのGitHub-
[DLHacks]Comet ML -機械学習のためのGitHub-
Deep Learning JP
?
[DL輪読会]Pay Attention to MLPs (gMLP)
[DL輪読会]Pay Attention to MLPs (gMLP)
Deep Learning JP
?
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
Deep Learning JP
?
【ICLR2023】論文紹介: Image as Set of Points
【ICLR2023】論文紹介: Image as Set of Points
Shoki Miyagawa
?
学习时に使ってはいないデータの混入「リーケージを避ける」
学习时に使ってはいないデータの混入「リーケージを避ける」
西岡 賢一郎
?
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
佑 甲野
?
混合モデルと贰惭アルゴリズム(笔搁惭尝第9章)
混合モデルと贰惭アルゴリズム(笔搁惭尝第9章)
Takao Yamanaka
?
機械学習 入門
機械学習 入門
Hayato Maki
?
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII
?
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
Deep Learning JP
?
Network weight saving_20190123
Network weight saving_20190123
Masakazu Shinoda
?
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
tmtm otm
?
[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural Networks
[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural Networks
Deep Learning JP
?
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
Deep Learning JP
?

Similar to [第2版]Python機械学習プログラミング 第11章 (20)

Section11 clustering
Section11 clustering
HiroyukiKosho
?
各言語の k-means 比較
各言語の k-means 比較
y-uti
?
摆机械学习闭文章のクラス分类
摆机械学习闭文章のクラス分类
Tetsuya Hasegawa
?
论文绍介&补尘辫;実験
论文绍介&补尘辫;実験
SHINGO MORISHITA
?
第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す
第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す
Atsushi KOMIYA
?
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
hnisiji
?
データ解析12 办平均法
データ解析12 办平均法
Hirotaka Hachiya
?
第四回 集合知プログラミング勉强会资料
第四回 集合知プログラミング勉强会资料
Anchuuu Annaka
?
はし?ハ?タ尝罢2
はし?ハ?タ尝罢2
Tadayuki Onishi
?
東京都市大学 データ解析入門 8 クラスタリングと分類分析 1
東京都市大学 データ解析入門 8 クラスタリングと分類分析 1
hirokazutanaka
?
パターン認識02 办平均法ver2.0
パターン認識02 办平均法ver2.0
sleipnir002
?
[第2版] Python機械学習プログラミング 第3章(5節~)
[第2版] Python機械学習プログラミング 第3章(5節~)
Haruki Eguchi
?
Python Project (2)
Python Project (2)
Tatsuya Nakamura
?
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
Shunsuke Nakamura
?
Machine&data
Machine&data
ssuserf94232
?
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
y-uti
?
ユークリッド距离以外の距离で教师无しクラスタリング
ユークリッド距离以外の距离で教师无しクラスタリング
Maruyama Tetsutaro
?
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V k-1
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V k-1
Shunsuke Nakamura
?
はし?ハ?タ尝罢3
はし?ハ?タ尝罢3
Tadayuki Onishi
?
碍苍苍発表资料(搁)
碍苍苍発表资料(搁)
Sora Kubota
?
各言語の k-means 比較
各言語の k-means 比較
y-uti
?
摆机械学习闭文章のクラス分类
摆机械学习闭文章のクラス分类
Tetsuya Hasegawa
?
论文绍介&补尘辫;実験
论文绍介&补尘辫;実験
SHINGO MORISHITA
?
第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す
第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す
Atsushi KOMIYA
?
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
hnisiji
?
データ解析12 办平均法
データ解析12 办平均法
Hirotaka Hachiya
?
第四回 集合知プログラミング勉强会资料
第四回 集合知プログラミング勉强会资料
Anchuuu Annaka
?
東京都市大学 データ解析入門 8 クラスタリングと分類分析 1
東京都市大学 データ解析入門 8 クラスタリングと分類分析 1
hirokazutanaka
?
パターン認識02 办平均法ver2.0
パターン認識02 办平均法ver2.0
sleipnir002
?
[第2版] Python機械学習プログラミング 第3章(5節~)
[第2版] Python機械学習プログラミング 第3章(5節~)
Haruki Eguchi
?
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
Shunsuke Nakamura
?
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
y-uti
?
ユークリッド距离以外の距离で教师无しクラスタリング
ユークリッド距离以外の距离で教师无しクラスタリング
Maruyama Tetsutaro
?
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V k-1
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V k-1
Shunsuke Nakamura
?
碍苍苍発表资料(搁)
碍苍苍発表资料(搁)
Sora Kubota
?
Ad

More from Haruki Eguchi (16)

[第2版]Python機械学習プログラミング 第16章
[第2版]Python機械学習プログラミング 第16章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第15章
[第2版]Python機械学習プログラミング 第15章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第14章
[第2版]Python機械学習プログラミング 第14章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第13章
[第2版]Python機械学習プログラミング 第13章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第12章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第12章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第10章
[第2版]Python機械学習プログラミング 第10章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第9章
[第2版]Python機械学習プログラミング 第9章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第7章
[第2版]Python機械学習プログラミング 第7章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第6章
[第2版]Python機械学習プログラミング 第6章
Haruki Eguchi
?
[第2版] Python機械学習プログラミング 第5章
[第2版] Python機械学習プログラミング 第5章
Haruki Eguchi
?
[第2版] Python機械学習プログラミング 第4章
[第2版] Python機械学習プログラミング 第4章
Haruki Eguchi
?
[第2版] Python機械学習プログラミング 第3章(~4節)
[第2版] Python機械学習プログラミング 第3章(~4節)
Haruki Eguchi
?
[第2版] Python機械学習プログラミング 第2章
[第2版] Python機械学習プログラミング 第2章
Haruki Eguchi
?
[第2版] Python機械学習プログラミング 第1章
[第2版] Python機械学習プログラミング 第1章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第16章
[第2版]Python機械学習プログラミング 第16章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第15章
[第2版]Python機械学習プログラミング 第15章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第14章
[第2版]Python機械学習プログラミング 第14章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第13章
[第2版]Python機械学習プログラミング 第13章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第12章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第12章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第10章
[第2版]Python機械学習プログラミング 第10章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第9章
[第2版]Python機械学習プログラミング 第9章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第7章
[第2版]Python機械学習プログラミング 第7章
Haruki Eguchi
?
[第2版]Python機械学習プログラミング 第6章
[第2版]Python機械学習プログラミング 第6章
Haruki Eguchi
?
[第2版] Python機械学習プログラミング 第5章
[第2版] Python機械学習プログラミング 第5章
Haruki Eguchi
?
[第2版] Python機械学習プログラミング 第4章
[第2版] Python機械学習プログラミング 第4章
Haruki Eguchi
?
[第2版] Python機械学習プログラミング 第3章(~4節)
[第2版] Python機械学習プログラミング 第3章(~4節)
Haruki Eguchi
?
[第2版] Python機械学習プログラミング 第2章
[第2版] Python機械学習プログラミング 第2章
Haruki Eguchi
?
[第2版] Python機械学習プログラミング 第1章
[第2版] Python機械学習プログラミング 第1章
Haruki Eguchi
?
Ad

[第2版]Python機械学習プログラミング 第11章

Editor's Notes

  • #3: IMDb: Internet Movie Database
  • #6: 同じグループに属しているオブジェクトは、他のグループに属しているグループよりも 互いに関連度が高い。
  • #8: n_samples=サンプル数 n_features=特徴量の個数 centers=クラスタ数 cluster_std=クラスタ内の標準偏差
  • #9: セントロイド:类似する点の中心を表す
  • #11: n_clusters=クラスタ数 init=セントロイドの初期値をランダムに選択 n_init=異なるセントロイドの初期値を用いたk-meansの試行回数 max_iter=最大イテレーション回数 tol=1e-04収束判定
  • #14: この確率変数を使うと、次に選択されるセントロイドμは、Mにあるセントロイドと距離が離れているところに配置される確率が高くなる。 分母:Mに含まれていないサンプルxとMのセントロイドの距離を2乗したものの最小値を合計したもの 分子:次のセントロイドμとMのセントロイドの距離を2乗したものの最小値
  • #16: 各セントロイドへの帰属の確率は合計すると1になる。 クラスタメンバシップ确率:该当するクラスタのセントロイドのメンバーとなる确率
  • #17: クラスタメンバシップ确率:该当するクラスタのセントロイドのメンバーとなる确率
  • #18: クラスタメンバシップ确率:该当するクラスタのセントロイドのメンバーとなる确率 ファジー性が大きいとよりぼやけたクラスタになる。
  • #19: 办-尘别补苍蝉よりも计算コストは高いが、一般的に収束するまでのイテレーション数は贵颁惭の方が少ない。
  • #20: kの値が増えるとSSEの値は小さくなる。 -> サンプルがそれぞれが属するクラスタのセントロイドに近づくから。
  • #22: シルエット係数の範囲は-1, 1 乖離度と凝集度が等しいとシルエット係数は0 b>>aの場合は理想的なシルエット係数である1に近づく
  • #23: 縦軸が全サンプル 横軸がシルエット係数。 クラスタごとにクラスタ内のサンプルのシルエット係数が小さいものからプロットしている。 赤い点線は全サンプルのシルエット係数の平均。
  • #24: 縦軸が全サンプル 横軸がシルエット係数。 クラスタごとにクラスタ内のサンプルのシルエット係数が小さいものからプロットしている。 赤い点線は全サンプルのシルエット係数の平均。
  • #29: 類似度が低い:最も離れている 距離行列の計算はscipyのspatial.distanceモジュールのpdist関数を使用
  • #30: scikit-learnでも実装可能 AgglomerativeClusteringクラス
  • #36: 办-尘别补苍蝉よりも计算コストは高いが、一般的に収束するまでのイテレーション数は贵颁惭の方が少ない。