コンセプト情報
クラスターは、1 つ以上の数値キー フィールドの類似した値に基づいて、テーブルのレコードをグループ化します。類似した値は、データセット全体のコンテキストで相互に近い値です。これらの類似した値は、特定されると、データのパターンを明らかにするクラスターを表します。
メモ
分析プログラムでクラスターを定期的に実行する場合は、Diligent Academy コースの「Analytics で CLUSTER コマンドを使用してデータグループを検索する (ACL 361)」を受講することをお勧めします (お客様のログインが必要です)。
他の Analytics グループ化コマンドとクラスターの違い
クラスターは他の Analytics グループ化コマンドとは異なります。
- クラスターでは、取引タイプや加盟店カテゴリ コードといった既存のデータ カテゴリや、数値の境界がハードコーディングされた定義済みの層でグループ化する必要がありません。代わりに、クラスターはデータ内の類似した数値(つまり、相互に近い値)に基づいてデータをグループ化します。
- 複数のフィールドに基づくクラスターは、ネストされない(非階層)結果を出力します。
クラスター対象のフィールドの選択
クラスターにより、存在することを知らないデータの有機的なグループを検出することができます。特に、機械学習を利用せずに、複数の数値フィールドに基づくクラスター(多次元クラスター)を特定することは困難です。この意味で、クラスターは説明的であり、監視されない機械学習の例です。
ただし、出力クラスターの有意性を保証するには、クラスターで選択するフィールド間に有意な関係が存在する必要があります。
単一フィールドのクラスター
単一フィールドでのクラスターは比較的簡単です。単一の値のセットに集中し、クラスターは値間の近さ(近似)に基づいて値をグループ化します。たとえば、金額フィールドをクラスター化し、値の範囲で金額が集中する場所を見つけることができます。
階層化などの従来のアプローチに対するクラスターの利点は、前もって、集中が存在する可能性がある場所を想定したり、任意の数値境界を作成したりする必要がないことです。クラスターは、特定のクラスター数の境界がある場所を検出します。
複数のフィールドのクラスター
2 つ以上のフィールドでクラスター化するときには、フィールドを関連付ける方法を確認する必要があります。クラスターを使用して、仮定をテストできます。たとえば、会社が従業員の退職率に関心があるとします。管理者は、より若い給与が低い従業員に集中していると考えています。
クラスターを使用して、次の間に強い関係があるかどうかを検出できます。
- 勤続期間と従業員の年齢(2 次元クラスター)
- 勤続期間、従業員の年齢、給与(3 次元クラスター)
メモ
この分析では、取得された傷病休暇日数など、仮定とは明確に関係しないフィールドを含めないようにする必要があります。
出力クラスターの評価
クラスター アルゴリズムは、常に、指定されたクラスター数のテーブルを出力します。出力テーブルのすべてのレコードはクラスターにあります。
この時点では、クラスターに分析上の有意性または意味があるかどうかを評価する必要があります。アルゴリズムがクラスターのレコードをグループ化するからといって、必ずしも、グループ化が有意であるわけではありません。クラスターが有意なパターンを形成しているかどうかを確認する必要があります。クラスターがストーリーを伝えているかどうか
ヒント
クラスター出力テーブルをレポート ツールの散布図としてグラフ化し、各クラスターに別の色を割り当てると、出力クラスターの全体的な特性をすばやく、簡単に評価できます。
次の特性は、出力されたクラスターの有意性を評価する際に役立ちます。
- クラスターの一貫性 クラスターの個別の値すべてが比較的中心に近い位置にあるか、クラスターが分散しているか。クラスターの一貫性が高いほど、クラスターを構成する値の関係が強くなります。
- クラスターのサイズ 1 つまたは 2 つの大きいクラスターにほとんどの値が含まれているか。この場合、値が多数のクラスター間で比較的均等に分散しているデータセットに比べ、データセットが大きく偏っています。
- 異常値 重要なクラスターのいずれにも含まれない値を検討します。このような異常値は、追加で精査する必要がある項目を示している可能性があります。また、「内部異常値」を検討します。つまり、重要なクラスターに含まれていて、クラスターの外側の端にある値です。
メモ
上記の特性はすべて、クラスター評価でも、人間が行う主観的な方法です。クラスター評価ではさまざまな機械的な方法が存在しますが、そのような方法は本 Analytics ヘルプの対象範囲外です。
クラスター アルゴリズムの仕組み
Analytics のクラスターは、k 平均法アルゴリズムを使用します。これは、一般的な機械学習アルゴリズムです。k 平均法の詳細については、インターネットの説明をご覧ください。
アルゴリズムの概要は以下のとおりです。
クラスター数(K 値)の選択
データのクラスター化で使用する最適なクラスター数を決定するには、テストと実験が必要になることがあります。特定のデータセットに対する、正確な答えはありません。
文字または日付時刻フィールドでクラスター化できますか。
一般的に、文字または日付時刻フィールドでクラスター化できません。クラスター アルゴリズムは数値だけを許可し、数値で計算を実行します(ユークリッド距離、中央値)
手順
メモ
機械学習メニュー オプションが無効な場合は、Python エンジンがインストールされていない可能性があります。詳細については、ACL for Windows をインストールするを参照してください。
クラスター アルゴリズムの設定の指定
-
クラスター化するデータがあるテーブルを開きます。
-
Analytics メインメニューで、[機械学習 > クラスター]を選択します。
-
[クラスター数(k 値)]で、データをグループ化するために使用するクラスター数を指定します。
-
[最大繰り返し数]で、クラスター アルゴリズムで実行される反復数の上限を指定します。
-
[初期化数]で、ランダム中心の初期セットを生成する回数を指定します。
-
省略可能。[シード]を選択し、数値を入力します。
データ処理方法の指定
複数のキー フィールドでクラスター化する場合は、クラスターで使用する前に、前処理機能を使用して、フィールドのスケールを標準化してください。
一般的に、異なる数値フィールドのスケールと単位は異なります。たとえば、年間のドル金額を含む給料フィールドの範囲は 20,000 ~ 100,000 で、年を含む年齢フィールドの範囲は 18 ~ 70 であるという可能性があります。給料フィールドと年齢フィールドを使用してクラスター化し、調整を行わない場合、出力されたクラスターは、給料/年齢クラスターではなく、基本的に給料クラスターとなります。その場合、年齢数と比較して、給料の数値のサイズにクラスターが偏ります。
前処理を実行すると、次の方法によって、すべてのクラスターのキー フィールドのすべての値を調整するため、クラスター処理中に均等に重み付けすることができます。
前処理オプション | 説明 |
---|---|
標準化 |
キー フィールド値の中央を平均ゼロ(0)にし、調整します。これは、値を z 得点相当(標準得点)に変換するプロセスです。 z 得点は、未加工の値を各フィールドの未加工の平均値から分離する標準偏差数の測定です。調整されたフィールドでは、平均値がゼロ(0)で表されます。表される未加工の値がフィールドの未加工の平均値より大きいか小さいかによって、z 得点が正または負になります。 メモ キー フィールドにほとんどゼロ以外の値が含まれている場合はこのオプションを使用します(密行列)。 |
単位分散になるようにスケール |
標準偏差で除算してキー フィールド値を調整しますが、中央を平均ゼロ(0)にしません。 メモ 1 つ以上のキー フィールドに多数のゼロ(0)値が含まれる場合にはこのオプションを使用します(疎行列)。 |
なし | キー フィールドは中心化も調整もされません。クラスターを計算するときに、クラスターは中心化も調整もされない、元の値を使用します。 |
フィールドの選択
- [対象クラスター]リストから、テーブルのレコードをクラスター化するために使用する 1 つ以上のキー フィールドを選択します。
キー フィールドは数値である必要があります。
- 省略可能。[他のフィールド]リストで、出力テーブルに含める 1 つ以上の追加フィールドを選択します。
ヒント
隣接する複数のフィールドを選択するには、Shift キー + クリックを、隣接していない複数のフィールドを選択するには、Ctrl キー + クリックを利用できます。
コマンド入力の確定
-
現在のビューの中に処理から除外したいレコードがある場合は、[If]テキスト ボックスに条件を指定します。直接入力するか、または[If]ボタンをクリックし、式ビルダーを利用して IF ステートメントを作成します。
メモ
If 条件は、任意の範囲オプション(先頭、次へ、While)が適用された後に、テーブルに残るレコードに対してのみ評価されます。
IF ステートメントは、ビュー内のすべてのレコードを判断し、指定された条件を満たさないレコードを除外します。
- [保存先]テキスト ボックスに、出力テーブルの名前を指定します。
メモ
Analytics のテーブル名は、最長で 64 文字の英数字(拡張子 .FIL を含まない)に制限されます。名前にはアンダースコア文字(_)を使用できますが、他の特殊文字やスペースは使用できません。名前の先頭を数字にすることはできません。
- 省略可能。[詳細]タブ
- レコードのサブセットのみが処理されることを指定するには、[範囲]パネルでオプションのいずれかを選択します。
- 出力テーブルを自動的に開くようにするには、[出力テーブルの使用]をオンにします。
- [OK]をクリックします。