クラスタリング
Tunny Dashboard のクラスタリングウィジェット(Cluster Scatter 2D / 3D ウィジェット)で使用する手法の概要です。 詳細な理論は、各手法の個別ドキュメントを参照してください。
クラスタリング手法
| 手法 | 役割 | 強み | 注意点 | 詳細 |
|---|---|---|---|---|
| k-means(Lloyd's アルゴリズム) | データを 個のクラスタに分割 | 高速、直感的、WCSS で品質評価可能 | 球形クラスタを仮定、局所最適解のリスク | kmeans.md |
k-means の初期化戦略(Init)
k-means の初期重心の選び方です。 どちらもクラスタリング手法ではなく k-means の内部設定であり、Lloyd's アルゴリズム本体(割り当て、更新、収束)は共通です。
| 初期化戦略 | 説明 | 適した場面 |
|---|---|---|
| k-means++ | D² 比例確率でサンプリング(Xoshiro256Plus、n・k から導出した固定シード) | 局所最適を避けたい、品質優先 |
| Deterministic | k-means++ と同じ D² 比例確率サンプリング(linfa 委譲)。シードを 42 に固定 | 完全な決定論的再現性が必要 |
分割数(k)の決め方
エルボー法は k-means を補助する手法であり、クラスタリング手法そのものではありません。 k-means を実行する前に、いくつのクラスタに分割するかを決めるために使います。
| 手法 | 役割 | 強み | 注意点 | 詳細 |
|---|---|---|---|---|
| エルボー法 | クラスタ内二乗和(WCSS)の変化率から最適な を自動推定 | ユーザが を指定不要 | WCSS が滑らかだと推定精度が下がる | elbow.md |
ワークフロー
flowchart TD
start["クラスタリング実行"] --> sel{"k 選択モード"}
sel -- "Elbow (Auto)" --> elbowStep["エルボー法で k=2〜max_k を総当たりし<br/>最適 k を自動推定"]
elbowStep --> runElbow["推定した k で k-means を実行<br/>(Init 戦略を適用)"]
sel -- "Manual" --> runManual["ユーザ指定の k で k-means を直接実行<br/>(Init 戦略を適用)"]
init{"Init 戦略<br/>(k-means の初期化のみ異なる)"}
init -- "k-means++" --> initA["D² 比例確率サンプリング<br/>(シードは n・k から導出)"]
init -- "Deterministic" --> initB["同じ D² 比例確率サンプリング、<br/>シードを 42 に固定"]
入力空間の選び方
| 設定 | 使うフィーチャー | 向いている分析 |
|---|---|---|
| Objective Space | 目的関数値のみ | 性能が似たトライアルを見つけたい |
| Variable Space | パラメータ値のみ | 設計変数のパターンを把握したい |
| Combined | 目的関数 + パラメータ | 両空間の関係を統合的に見たい |
関連手法
同じ目的(構造の把握)を持つ別のウィジェットとして、次のものも利用できます。
- Dendrogram:階層クラスタリングにより、事前に を決め打ちせず完全な併合木を構築します
- PCA Biplot:trial と変数を標準化済みの 2D 主成分平面に投影します
- SOM Map:自己組織化マップにより、固定 分割を補完するトポロジー保存の 2D マップを描きます