8 クラスタリング
クラスタリング(教師なし機械学習手法)を使用してデータの自然なグループを検出する方法を学習します。
8.1 クラスタリングについて
クラスタリング分析では、相互に類似性を持つデータ・オブジェクトの集まり(クラスタ)を見つけます。
つまり、あるクラスタのメンバーは、別のクラスタのメンバーよりも同じクラスタのメンバーに類似していることになります。異なるクラスタには、共通のメンバーを含めることができます。クラスタリング分析の目的は、クラスタ間の類似度が低くなり、クラスタ内の類似度が高くなるような、質の高いクラスタを見つけることです。
クラスタリングは、分類と同じくデータを分割するために使用します。クラスタリング・モデルが分類と異なるのは、事前に定義されていないグループにデータを分割する点です。分類モデルの場合は、あらかじめ定義済のクラスをターゲットとして指定し、それらのクラスに割り当てることによってデータを分割します。クラスタリング・モデルではターゲットを使用しません。
クラスタリングはデータの調査に役立ちます。多数のケースがあり、明確なグループがない場合に、クラスタリング・アルゴリズムを使用して自然なグループを検出できます。
クラスタリングは、教師ありモデルを作成できる同種グループを識別するためのデータの前処理手段として有効です。
異常検出用にクラスタリングを使用することもできます。データをいくつかのクラスタに分割すると、どのクラスタにも適合しないケースがあることを検出します。これらのケースが異常値または外れ値です。
8.1.1 クラスタの計算方法
クラスタを計算する方法にはいくつかの種類があります。Oracle Machine Learning for SQLでは、ここにリストされている方法がサポートされています。
-
密度ベース: このタイプのクラスタリングでは、基礎となるデータ分布を検出し、データの高密度領域が分布のピークにどのように対応しているかを評価します。高密度領域は、クラスタとして解釈されます。密度ベースのクラスタ評価は、確率的です。
-
距離ベース: このタイプのクラスタリングでは、距離メトリックを使用してデータ・オブジェクト間の類似度を判別します。距離メトリックでは、クラスタの実際のケースとクラスタの典型的なケースとの間の距離を測定します。典型的なケースは、重心と呼ばれます。
-
グリッドベース: このタイプのクラスタリングでは、入力空間を超矩形セルに分割し、隣り合う高密度セルを識別してクラスタを形成します。
8.1.2 新しいデータのスコアリング
クラスタリングは教師なしの機械学習手法ですが、Oracle Machine Learning for SQLではクラスタリングのスコアリング操作がサポートされています。
新しいデータは、確率的にスコアリングされます。
8.3 クラスタリングのアルゴリズム
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つのアルゴリズムの主な特徴の比較を示します。
表8-1 クラスタリング・アルゴリズムの比較
特徴 | k-Means | O-Cluster | 期待値最大化 |
---|---|---|---|
クラスタリングの方法 |
距離ベース |
グリッドベース |
分布ベース |
ケース数 |
任意のサイズのデータセットを処理可能 |
ケース数が500を超えるデータセットにより適している。アクティブなサンプリングによって大きい表を処理する |
任意のサイズのデータセットを処理可能 |
属性数 |
属性数が少ないデータセットにより適している |
属性数が多いデータセットにより適している |
属性数が多いまたは少ないデータセットに適している |
クラスタ数 |
ユーザーが指定する |
自動的に決定される |
自動的に決定される |
階層クラスタリング |
可 |
可 |
可 |
確率的なクラスタの割当て |
可 |
可 |
可 |
ノート:
OML4SQLでは、デフォルトのクラスタリング・アルゴリズムとしてk-Meansを使用します。