5 クラスタリング
クラスタリング(教師なし機械学習手法)によって、データの自然なグループを検出する方法を学習します。
5.1 クラスタリングについて
クラスタリング分析では、相互に類似性を持つデータ・オブジェクトの集まり(クラスタ)を検出します。
つまり、あるクラスタのメンバーは、別のクラスタのメンバーよりも同じクラスタのメンバーに類似していることになります。異なるクラスタには、共通のメンバーを含めることができます。クラスタリング分析の目的は、クラスタ間の類似度が低くなり、クラスタ内の類似度が高くなるような、質の高いクラスタを見つけることです。
クラスタリングは、分類と同じくデータを分割するために使用します。クラスタリング・モデルが分類と異なるのは、事前に定義されていないグループにデータを分割する点です。分類モデルの場合は、あらかじめ定義済のクラスをターゲットとして指定し、それらのクラスに割り当てることによってデータを分割します。クラスタリング・モデルではターゲットを使用しません。
クラスタリングはデータの調査に役立ちます。多数のケースがあり、明確なグループがない場合に、クラスタリング・アルゴリズムを使用して自然なグループを検出できます。
クラスタリングは、教師ありモデルを作成できる同種グループを識別するためのデータの前処理手段として有効です。
クラスタリングは異常検出用にも使用できます。データをいくつかのクラスタに分割すると、どのクラスタにも適合しないケースがあることを検出します。これらのケースが異常値または外れ値です。
5.1.1 クラスタの計算方法
クラスタを計算する方法にはいくつかの種類があります。Oracle Machine Learning for SQLでサポートされる方法を示します。
- 
                           密度ベース: このタイプのクラスタリングでは、基礎となるデータ分布を検出し、データの高密度領域が分布のピークにどのように対応しているかを評価します。高密度領域は、クラスタとして解釈されます。密度ベースのクラスタ評価は、確率的です。 
- 
                           距離ベース: このタイプのクラスタリングでは、距離メトリックを使用してデータ・オブジェクト間の類似度を判別します。距離メトリックでは、クラスタの実際のケースとクラスタの典型的なケースとの間の距離を測定します。典型的なケースは、重心と呼ばれます。 
- 
                           グリッドベース: このタイプのクラスタリングでは、入力空間を超矩形セルに分割し、隣り合う高密度セルを識別してクラスタを形成します。 
5.1.2 新しいデータのスコアリング
クラスタリングは教師なし機械学習手法ですが、Oracle Machine Learning for SQLではクラスタリングに対するスコアリング操作をサポートしています。
新しいデータは、確率的にスコアリングされます。
5.1.3 階層クラスタリング
Oracle Machine Learning for SQLでは、階層クラスタリングを実行するクラスタリング・アルゴリズムをサポートしています。
リーフ・クラスタは、アルゴリズムによって生成される最終クラスタです。階層内で上位にあるクラスタは中間クラスタです。
5.1.4 クラスタリングのアルゴリズム
Oracle Machine Learning for SQLで使用される様々なクラスタリング・アルゴリズムを学習します。
Oracle Machine Learning for SQLでは、次に示すクラスタリング・アルゴリズムをサポートしています。
- 
                           期待値最大化 期待値最大化は、確率的な密度推定クラスタリング・アルゴリズムです。 
- 
                           k-Means k-Meansは、距離ベースのクラスタリング・アルゴリズムです。OML4SQLでは、拡張バージョンのk-Meansをサポートしています。 
- 
                           直交パーティショニング・クラスタリング(O-Cluster) O-Clusterは、独自のグリッドベースのクラスタリング・アルゴリズムです。 関連項目: 『O-Cluster: Scalable Clustering of Large High Dimensional Data Sets』(Campos, M.M.、Milenova, B.L共著、Oracle Data Mining Technologies, 10 Van De Graaff Drive, Burlington, MA 01803) 
次の表に、2つのアルゴリズムの主な特徴の比較を示します。
表5-1 クラスタリング・アルゴリズムの比較
| 特徴 | k-Means | O-Cluster | 期待値最大化 | 
|---|---|---|---|
| クラスタリングの方法 | 距離ベース | グリッドベース | 分布ベース | 
| ケース数 | 任意のサイズのデータセットを処理可能 | ケース数が500を超えるデータセットにより適している。アクティブなサンプリングによって大きい表を処理する | 任意のサイズのデータセットを処理可能 | 
| 属性数 | 属性数が少ないデータセットにより適している | 属性数が多いデータセットにより適している | 属性数が多いまたは少ないデータセットに適している | 
| クラスタ数 | ユーザーが指定する | 自動的に決定される | 自動的に決定される | 
| 階層クラスタリング | 可 | 可 | 可 | 
| 確率的なクラスタの割当て | 可 | 可 | 可 | 
ノート:
OML4SQLでは、デフォルトのクラスタリング・アルゴリズムとしてk-Meansを使用します。