この章では、Oracle Data Miningでサポートされている拡張k-Meansクラスタリング・アルゴリズムについて説明します。
この章では、次の項目について説明します。
k-Meansアルゴリズムは、十分な数の個別ケースがある場合に、事前に決められた数のクラスタにデータをパーティション化する、距離ベースのクラスタリング・アルゴリズムです。
距離ベースのアルゴリズムは、距離メトリック(関数)を使用して、データ・ポイント間の類似度を計測します。距離メトリックは、ユークリッド距離、コサイン距離または高速コサイン距離のいずれかです。各データ・ポイントは、使用される距離メトリックに従って、最も近いクラスタに割り当てられます。
Oracle Data Miningに実装されている拡張バージョンのk-meansアルゴリズムには、次の特徴があります。
このアルゴリズムは、階層形式でモデルを作成します。トップダウンでモデルを作成する際、2分岐を使用し、最後にすべてのノードを精錬します。この意味では、2分k-meansアルゴリズムと似ています。階層の内部ノードの重心は、ツリーが展開していくにつれて、その変化を反映するように更新されます。ツリー全体が戻されます。
このアルゴリズムでは、一度に1つのノードでツリーを展開させます(不均衡アプローチ)。分散の最も大きなノードは、プログラミング・インタフェースのいずれかで利用可能なユーザー設定に基づいて、クラスタの数が指定数に達するまで分割され、ツリーのサイズが大きくなります。クラスタの最大数は、クラスタリング・モデルの構築設定CLUS_NUM_CLUSTERS
で指定されます(第7章「クラスタリング」を参照)。
このアルゴリズムでは、確率的なスコアリングおよびクラスタへのデータの割当てが可能です。
このアルゴリズムは、クラスタごとに、重心(クラスタの原型)、ヒストグラム(属性ごとに1つ)、およびクラスタに割り当てられるデータの大部分を囲むハイパーボックスを記述するルールを戻します。重心は、質的属性については最頻値を、量的属性については平均および分散を示します。
k-meansをこのように処理することによって、複数のk-meansモデルを作成する必要がなくなります。また、常に従来のk-meansよりも優れたクラスタリング結果が得られます。
拡張k-Meansによって発見されたクラスタを使用して、ベイズ確率モデルが生成されます。そして、このモデルがスコアリング(モデルの適用)の際に使用され、データ・ポイントをクラスタに割り当てます。k-meansアルゴリズムは、混合要素が、すべての要素に関して同じ分散を持つ球面多変量正規分布であるような混合モデルと解釈できます。
自動データ準備では、k-Meansに対して、外れ値に敏感な正規化が実行されます。
単純な(ネストしていない)データ型の列に欠損値がある場合、k-Meansではそれらをランダムに欠損した値として解釈します。質的データの欠損値は最頻値に、量的データの欠損値は平均値に置換されます。
ネストした列に欠損値がある場合、k-Meansではそれらをスパースとして解釈します。スパースな量的データは0(ゼロ)に、スパースな質的データはゼロ・ベクトルに置換されます。
k-Meansに対して独自のデータ準備を行う場合に、等幅ビニングで外れ値が存在すると、k-Meansでは内容が異なるクラスタを作成できないことがあります。それぞれのクラスタが非常によく似た重心、ヒストグラムおよびルールを持つ可能性があります。