クラスタリング結果比較
複数のクラスタリング手法と設定をまとめて試し、どれが良いかを比べます。 どの手法が合うか分からないときの出発点になります。
入出力
| ポート | 内容 |
|---|---|
| 入力データ | 分けたいデータ |
| クラスタ結果比較 | 試した組み合わせを 1 行 1 件で並べた表 |
| 最良クラスタ | 評価がいちばん良かった組み合わせの、行ごとのクラスタ番号付きデータ |
Spark エンジンでは動きません。
設定項目
- 対象列を選択
- クラスタリングに使う列。数値の列だけ選べます。複数選べます。ここで選んだ列は、並べたすべての手法に共通で使われます。
- 結果の評価基準を選択
- Calinski-Harabasz基準(Pseudo F)(既定)か平均シルエット値。どちらを選んでも、全部の組み合わせを同じものさしで測ります。
- 比較手法
- 比べる組み合わせ。いくつでも足せます。1 つの組につき、下の 3 つを決めます。
比較手法の 1 組に入れるもの
- 名前
- 結果の表に出る見出し。既定は
クラスタ1。同じ手法を数だけ変えて並べるときは、ここを書き分けないと見分けが付きません。 - 手法
- 7 つから 1 つ選びます(下の表)。
- オプション
- 選んだ手法によって中身が変わります。その手法の単体ページと同じ設定項目が出ます。クラスタ数も、ここに入れます。
比べられる手法
7 つです。それぞれ単体のページもあります。
| 手法 | クラスタ数の指定 |
|---|---|
| K-means | 必要 |
| スペクトラルクラスタリング | 必要 |
| Affinity Propagation | 不要 |
| 階層クラスタリング | 必要 |
| BIRCH | 必要 |
| DBSCAN | 不要 |
| Mean Shift | 不要 |
2 つの評価基準
| 基準 | 見るもの |
|---|---|
| Calinski-Harabasz基準(既定) | クラスタ間の離れ具合とクラスタ内のまとまり具合の比。大きいほど良い |
| 平均シルエット値 | 各点が自分のクラスタにどれだけ馴染んでいるか。1 に近いほど良い |
どちらも「数字が良い=意味がある分かれ方」とは限りません。 クラスタ解釈用データを作るで中身を見て判断してください。
出力される列
クラスタ結果比較
| 列 | 中身 |
|---|---|
| クラスタリング手法 | 選んだ手法の名前 |
| クラスタリング名 | 「名前」に入れた文字 |
| クラスタ数 | 実際にいくつに分かれたか。クラスタ数を指定しない手法では、ここで初めて分かります |
| 評価指標 | 選んだ評価基準の値 |
1 つのかたまりにしか分かれなかった組み合わせは、評価指標が空欄になります。 評価基準はクラスタどうしを比べるものなので、比べる相手がいないと値を出せないためです。その組み合わせは最良クラスタの候補からも外れます。
最良クラスタ
評価指標がいちばん大きかった組み合わせの結果です。入力データの各行に、クラスタ番号・クラスタリング手法・クラスタリング名・評価指標の列が付きます。そのまま後続のノードにつなげます。
前処理が要る
K-means と同じく、単位を揃えてから使ってください(数値の正規化)。
エラーと対処
どのエラーも、入力データか設定を直して実行し直せば消えます。
クラスタリング名が空
クラスタリング名を設定してください。
直し方 — クラスタリング名を入れてから実行します
手法が未選択
手法を設定してください。
直し方 — 比較手法の組ごとに「手法」を選びます
処理対象列に欠損値がある
処理対象列に欠損値が含まれています。欠損値を除外するか補完してください。
直し方 — 欠損値処理で埋めるか、欠損のある行を外します
処理対象列に数値以外がある
処理対象列に数値型以外のデータが含まれてます。型変換をするか、数値型以外の列を除去してください。
直し方 — 列の型変更で数値にするか、その列を外します
サンプリングの割合が範囲外
サンプリング比率は0以上1以下の値を指定してください。
直し方 — 手法のオプションにある「サンプリングデータに対して実行する」に、0 より大きく 1 以下の小数を入れます。0 は使えません
よく使う例
1. 手法を選びたい
お題 — どの手法が合うか見当が付かない
入力 — 正規化済みの数値列を持つデータ
設定 — 比較手法に K-means / 階層クラスタリング / DBSCAN を並べ、評価基準は既定の Calinski-Harabasz基準
出力 — 3 行の比較表。評価指標がいちばん大きい行の手法が候補
2. クラスタ数を決めたい
お題 — K-means でいくつに分けるべきか決めたい
入力 — 同上
設定 — K-means を 5 組並べ、クラスタ数を 2 〜 6 にし、名前を K-means(2) 〜 K-means(6) にする
出力 — 5 行の比較表。名前を書き分けているので、どの数の結果かがそのまま読める
3. いちばん良い結果をそのまま使う
お題 — 比べた結果を後続の処理に流したい
入力 — 同上
設定 — 設定は変えず、2 つ目の出力「最良クラスタ」を後続につなぐ
出力 — 勝った組み合わせのクラスタ番号が付いたデータ。クラスタ解釈用データを作るにそのまま入ります
4. クラスタ数を指定しない手法が何個に分けたか知る
お題 — DBSCAN や Mean Shift がいくつに分けたのか知りたい
入力 — 同上
設定 — 比較手法に DBSCAN と Mean Shift を並べる
出力 — 比較表の クラスタ数 列に、実際に分かれた数が出る