DBSCAN(密度ベースのクラスタリング)
密度の高い領域をクラスタに。任意形状を見つけ、外れ値をノイズとする。
34
4
データ形状
クラスタ数
—
ノイズ点数
—
コア点
—
境界点
—
—
点をドラッグして移動できます。クリックするとその点の
eps 近傍円(半径 eps の円)を表示します。塗りつぶし=クラスタ色、◯リング=コア点、灰色=ノイズ。
クラスタ(色ごとに別)
コア点(minPts 以上)
ノイズ
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)は、点の密集ぐあいでクラスタを見つけるアルゴリズムです。
半径
eps の円内に自分を含めて minPts 個以上の点があれば、その点はコア点。コア点から数珠つなぎに到達できる点を同じクラスタにまとめ、どのクラスタにも入れない点をノイズ(外れ値)とします。
k-means と違ってクラスタ数を事前に決める必要がなく、三日月やリングのような非凸・任意形状もそのまま捉えられます。eps と minPts を動かして、何がクラスタで何がノイズになるか確かめてみましょう。
いま何が起きている?
ここがポイント
- 密度ベースだから任意形状に強い ── 重心からの距離で丸く切る k-means と違い、点がつながっていれば三日月でもリングでも 1 クラスタにできる。
- クラスタ数を事前指定しない ──
epsとminPtsだけ決めれば、いくつのクラスタになるかはデータが決める。 - 外れ値をノイズとして自然に除外 ── どのコア点からも届かない孤立点は、無理にどこかへ入れずノイズにする。
- eps の設定が肝 ── 小さすぎると全部ノイズ、大きすぎると別々のかたまりが 1 つに融合する。ちょうど良い「密度の谷」を探すのがコツ。