この章では、Oracle Data Miningでサポートされている拡張k-Meansクラスタリング・アルゴリズムについて説明します。
この章には、次の項が含まれます。
k-Meansアルゴリズムは、指定した数のクラスタにデータを分割する、距離ベースのクラスタリング・アルゴリズムです。
距離ベースのアルゴリズムは、距離関数を使用して、ケース間の類似度を計測します。各ケースは、使用される距離関数に従って、最も近いクラスタに割り当てられます。
Oracle Data Miningに実装されている拡張バージョンのk-Meansアルゴリズムには、次の特徴があります。
距離関数 - アルゴリズムでは、ユークリッド、コサインおよび高速コサインの各距離関数がサポートされます。デフォルトはユークリッドです。
階層モデル作成 - トップダウン階層の方法でモデルを作成する際、2分岐を使用し、最後にすべてのノードを精錬します。この意味では、2分k-Meansアルゴリズムと似ています。階層の内部ノードの重心は、ツリーが展開していくにつれて、その変化を反映するように更新されます。ツリー全体が戻されます。
ツリー拡大 - アルゴリズムでは、指定した分岐基準を使用して、指定した最大クラスタ数に到達するまで、または個別ケースの数に到達するまで、一度に1つのノードが増えてツリーが拡大します。分岐基準は、分散またはクラスタ・サイズになります。デフォルトの分岐基準は分散です。
クラスタ・プロパティ - クラスタごとに、アルゴリズムによって、重心、各属性のヒストグラム、およびクラスタに割り当てられるデータの大部分を囲むハイパーボックスを記述するルールが戻されます。重心は、質的属性については最頻値を、量的属性については平均および分散を示します。
k-Meansをこのように処理することによって、複数のk-Meansモデルを作成する必要がなくなります。また、常に従来のk-Meansよりも優れたクラスタリング結果が得られます。
Oracle Data Miningの拡張k-Meansアルゴリズムでは、複数の作成時設定がサポートされます。すべての設定にはデフォルト値があります。特定の方法でアルゴリズムの動作に影響を与える場合を除き、デフォルトを上書きする必要はありません。
次のいずれかを指定してk-Meansを構成できます。
クラスタ数
クラスタ保持のために割り当てられるメモリーの拡張係数
収束許容値
距離関数。デフォルトの距離関数はユークリッドです。
分岐基準。デフォルトの基準は分散です。
クラスタ・ツリー作成のための反復回数。
クラスタのルール説明に属性を含めるためにNULL以外に設定する必要のある属性値の割合。欠損値を持つデータでパラメータ値を非常に大きく設定すると、非常に短いルールまたは空のルールが生成される可能性があります。
ヒストグラム・ビンの数。各属性のビン境界は、トレーニング・データセット全体でグローバルに計算されます。ビニング方法は等幅です。ただ1つのビンを持つ単一値が含まれる属性を除き、すべての属性は同じ数のビンを持ちます。
関連項目: k-Means構築設定の詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。 |
k-Meansアルゴリズムでは、通常、正規化が必要です。自動データ準備では、k-Meansに対して、外れ値に敏感な正規化が実行されます。ADPを使用しない場合、モデルを作成または適用する前に量的属性を正規化する必要があります。
単純な(ネストしていない)データ型の列に欠損値がある場合、k-Meansではそれらをランダムに欠損した値として解釈します。質的データの欠損値は最頻値に置換され、量的データの欠損値は平均値に置換されます。
ネストした列に欠損値がある場合、k-Meansではそれらをスパースとして解釈します。スパースな量的データは0 (ゼロ)に置換され、スパースな質的データはゼロ・ベクトルに置換されます。
正規化ルーチンの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。 Oracle Data Miningの自動および組込みのデータ変換については、第19章を参照してください。 Oracle Data Miningでサポートされている、ネストした列および欠損データの詳細は、『Oracle Data Miningアプリケーション開発者ガイド』を参照してください。 |