データのクラスター
クラスターは、1 つ以上の数値キー フィールドの類似した値に基づいて、テーブルのレコードをグループ化します。類似した値は、データセット全体のコンテキストで相互に近い値です。これらの類似した値は、特定されると、データのパターンを明らかにするクラスターを表します。
他の Analytics グループ化コマンドとクラスターの違い
クラスターは他の Analytics グループ化コマンドとは異なります。
- クラスターは、正確な値、またはハード数値境界のある定義済み層でのグループ化を必要としません。代わりに、クラスターは類似した数値(つまり、相互に近い値)に基づいてデータをグループ化します。
- クラスターは、既存のデータ カテゴリを必要としません。
- 複数のフィールドに基づくクラスターは、ネストされない(非階層)結果を出力します。
クラスター アルゴリズムの仕組み
Analytics のクラスターは、k 平均法アルゴリズムを使用します。これは、一般的な機械学習アルゴリズムです。k 平均法の詳細については、インターネットの説明をご覧ください。
アルゴリズムの概要は以下のとおりです。
k 平均法アルゴリズムは、反復プロセスを使用して、クラスターを最適化します。
1 | クラスター数の指定 |
|
---|---|---|
2 | クラスター中心の初期化 |
|
3 | 各データ点を最も近い中心に割り当てる |
|
4 | 中心の再計算 |
|
5 | 反復 |
|
クラスター数(K 値)の選択
データのクラスター化で使用する最適なクラスター数を決定するには、テストと実験が必要になることがあります。特定のデータセットに対する、正確な答えはありません。
最適なクラスター数を決定するためのガイドライン
- データを理解する 前もってデータセットを理解し、データのプロファイル、および値の明確な集中について概要を把握します。
- 最初は高めにする 最初は 8 ~ 10 の比較的多いクラスター数を選択します。
- 別のクラスター数を試す 複数回クラスターを実行し、毎回別の K 値を指定します。出力結果をレビューすると、クラスターを増やすのか減らすのかを判断できます。
- エルボー法 エルボー法を使用します。これは、異なる K 値に対して、生成されたクラスターの値の内部距離を比較します。
エルボー法の結果をプロットし、「エルボー」または変曲点を特定します。ここでは、クラスター数を増やすと、クラスターの値の内部距離が大幅に減ります。エルボー法は Analytics でスクリプト化できます。
クラスター対象のフィールドの選択
クラスターにより、存在することを知らないデータの有機的なグループを検出することができます。複数の数値フィールドに基づいて、クラスターを自由に作成できます。この意味で、クラスターは説明的であり、監視されない機械学習の例です。
ただし、出力クラスターを理解するには、クラスターで選択したフィールドの関係を理解する必要があります。
単一フィールドのクラスター
単一フィールドでのクラスターは比較的簡単です。単一の値のセットがあり、クラスターは値間の近さ(近似)に基づいて値をグループ化します。たとえば、金額フィールドをクラスター化し、値の範囲で金額が集中する場所を見つけることができます。
階層化などの従来のアプローチに対するクラスターの利点は、前もって、集中が存在する可能性がある場所を想定したり、任意の数値境界を作成したりする必要がないことです。クラスターは、特定のクラスター数の境界がある場所を検出します。
複数のフィールドのクラスター
2 つ以上のフィールドでクラスター化するときには、フィールドを関連付ける方法を確認する必要があります。クラスターを使用して、仮定をテストできます。たとえば、会社が従業員の退職率に関心があるとします。管理者は、より若い給与が低い従業員に集中していると考えています。
クラスターを使用して、次の間に強い関係があるかどうかを検出できます。
- 勤続期間と従業員の年齢(2 次元クラスター)
- 勤続期間、従業員の年齢、給与(3 次元クラスター)
この分析では、取得された傷病休暇日数など、仮定とは明確に関係しないフィールドを含めないようにする必要があります。
文字または日付時刻フィールドでクラスター化できますか。
一般的に、文字または日付時刻フィールドでクラスター化できません。クラスター アルゴリズムは数値だけを許可し、数値で計算を実行します(ユークリッド距離、中央値)
カテゴリ文字データ
ロケーション ID などのカテゴリ文字データが数値の形式になっていることがあります。あるいは、演算フィールドを使用して、文字カテゴリを作成する数値コードのセットにマッピングできます。このデータを数値データ型に変換し、クラスターで使用できます。ただし、結果のクラスターは有効になりません。数値ではない対象を表す数値に対して数学的演算を実行するためです。
たとえば、ロケーション ID のリストの平均に基づいて中心位置を計算すると、意味のない数値になります。計算は、ロケーション番号間の数学的な距離が何らかの実際の世界の測定可能な距離と等しいという無効な想定に基づいています。
物理的な距離を考慮する場合、ロケーション 1 とロケーション 9 の間の距離がロケーション 1 とロケーション 5 の間の距離の 2 倍であるということは無意味です。ロケーション 1 と 9 は隣で、ロケーション 5 が数マイル離れている可能性があります。
ロケーションや物理的な距離に関するクラスター分析では、使用する有効なデータは地理座標です。
スケールを表すカテゴリ データ
スケールを表すカテゴリ データでクラスターできます。たとえば、不可から優までの評価スケールと、対応する 1 ~ 5 のコードです。この場合、数値コードの平均には意味があります。
日付時刻データ
Analytics 関数を使用して、日付時刻データを数値データに変換できます。ただし、結果の数値データは連続していません。これは、数値の連続セットを想定するクラスター分析では問題となります。
たとえば、次の 3 つの数値は、日付としては、1 日違いです。ただし、数値としては、最初と 2 番目の数値にかなりのギャップまたは距離があります。
- 20181130
- 20181201
- 20181202
クラスター分析では、シリアル日付値を使用できます。シリアル日付は、1900 年 1 月 1 日からの経過日数を表す、整数の連続セットです。
出力クラスターの評価
クラスター アルゴリズムは、常に、指定されたクラスター数のテーブルを出力します。出力テーブルのすべてのレコードはクラスターにあります。
この時点では、クラスターのいずれかに分析上の有意性または意味があるかどうかを評価する必要があります。アルゴリズムがクラスターのレコードをグループ化するからといって、必ずしも、グループ化が有意であるわけではありません。
評価できる 2 つの特定は、クラスターの一貫性とクラスター サイズです。
ヒント
クラスター出力テーブルをレポート ツールの散布図としてグラフ化し、各クラスターに別の色を割り当てると、出力クラスターの特性をすばやく、簡単に評価できます。
手順
クラスター アルゴリズムの設定の指定
- クラスター化するデータがあるテーブルを開きます。
- Analytics メインメニューで、[機械学習 > クラスター]を選択します。
- [クラスター数(k 値)]で、データをグループ化するために使用するクラスター数を指定します。
- [最大繰り返し数]で、クラスター アルゴリズムで実行される反復数の上限を指定します。
- [初期化数]で、ランダム中心の初期セットを生成する回数を指定します。
- 省略可能。[シード]を選択し、数値を入力します。
データ処理方法の指定
[処理]ドロップダウンリストで、クラスター化する前に、データを処理する方法を選択します。
標準化 | ゼロ(0)周辺のキー フィールド値を中央化し、クラスターを計算するときに値を単位分散に調整します |
---|---|
単位分散になるようにスケール | クラスターを計算するときに値を単位分散に調整しますが、ゼロ(0)周辺の値を中央化しません |
なし | クラスターを計算するときに、未調整の未加工キー フィールド値を使用します |
フィールドの選択
- [対象クラスター]リストから、テーブルのレコードをクラスター化するために使用する 1 つ以上のキー フィールドを選択します。
キー フィールドは数値である必要があります。
- 省略可能。[他のフィールド]リストで、出力テーブルに含める 1 つ以上の追加フィールドを選択します。
ヒント
隣接する複数のフィールドを選択するには、Shift キー + クリックを、隣接していない複数のフィールドを選択するには、Ctrl キー + クリックを利用できます。
コマンド入力の確定
-
現在のビューの中に処理から除外したいレコードがある場合は、[If]テキスト ボックスに条件を指定します。直接入力するか、または[If]ボタンをクリックし、式ビルダーを利用して IF ステートメントを作成します。
メモ
If 条件は、任意の範囲オプション(First、Next、While)が適用された後に、テーブルに残るレコードに対してのみ評価されます。
IF ステートメントは、ビュー内のすべてのレコードを判断し、指定された条件を満たさないレコードを除外します。
- [保存先]テキスト ボックスに、出力テーブルの名前を指定します。
- 省略可能。[詳細]タブ
- レコードのサブセットのみが処理されることを指定するには、[範囲]パネルでオプションのいずれかを選択します。
- 出力テーブルを自動的に開くようにするには、[出力テーブルの使用]をオンにします。
- [OK]をクリックします。