16.K-Centroids Cluster Analysis | Alteryx Predictive Tools 道場 Advent Calendar 2018 #16
DI部プリセールスエンジニアの兼本です。
当エントリは『Alteyx Predictive Tools 道場 Advent Calendar』の16日目のエントリです。
クラスメソッド Alteryx Predictive Tools 道場 Advent Calendar 2018 - Qiita
Alteryx Predictive Tools 道場 Advent Calendar | シリーズ | DevelopersIO
前提条件
本シリーズではAlteryx2018.4を使用しています。
どんなサンプル?
Alteryx Designerを起動して、「ヘルプ > サンプルワークフロー > Predictive tool samples > Predictive Analytics > 16 K-Centroids Cluster Analysis」から開くことができます。
また、本ワークフローを参照するにはAlteryx Predictive Tools with Rがインストールされている必要があります。
16.K-Centroidsクラスタ解析とは?
以下は本サンプルワークフローの全体図です。
このサンプルでは「K-Centroidsクラスタ解析」ツールと「クラスタ付加」ツールの2つを使用して、クラスタ分析と呼ばれる処理を行っています。
「k-centroidsクラスタ解析」ツールでは、「K-Means」、「K-Medians」、「Neural gas」の3種類のクラスタ分析を実行することができます。 3種類の分析手法は、いずれもデータベース内のレコードを取り出し、それらをいくつかの基準に基づいて「k」個のグループに分割するために使用されます。
「クラスタ付加」ツールでは「k-centroidsクラスタ解析」ツールで作成したデータを元に、各データがどのクラスタに所属するかを確認することができます。
今回はスーパーマーケットの店舗に関して、人口密度によって計測した都市化レベルと、店舗から車で5分以内を基準とした商圏における年齢、世帯規模、収入分布を示したデータに対してクラスタ分析を行います。
なお、K-meansの手法については、弊社じょんすみすが過去に同じサンプルを使用して説明していますので、分析手法の詳細については、以下の記事もご覧ください。
それでは、各ツールの設定について、確認していきましょう。
インプットツール
このサンプルでは、Alteryxデータベータベース形式(.yxdb)のファイルを読み込んでいます。
前述の通り、今回のサンプルでは、スーパーマーケットの店舗に関して人口密度によって計測した都市化レベルと、店舗から車で5分以内を基準とした商圏における年齢、世帯規模、収入分布を示したデータを使用しています。
k-Centroidsクラスタ解析ツール
クラスタ分析の特徴として使用するフィールドを2つ以上選択する必要があります。
今回のサンプルでは、以下の項目を選択しています。
項目 | 対応するフィールド |
---|---|
人口密度 | PopDens(population density) |
年齢 | Age0to9Pct、Age10to17Pct、Age18to29Pct、Age30to39Pct、Age40to49Pct、Age50P64Pct、Age65PlusPct |
世帯規模 | HH1PersonPct、HH2PersonPct、HH3PersonPct、HH4PlusPersonPct |
収入 | IncA_U25Pct、IncB_25to50Pct、IncC_50to100Pct、IncD_100to150Pct、IncE_150PlusPct |
クラスタ分析を行うにあたり、変数間の尺度が異なる場合は事前に標準化を実施する必要があります。 今回のデータに関しても標準化をするために、「フィールドを標準化する」オプションを有効にし、方式として「単位間隔(区間)・Unit Interval」を選択します。 クラスタリング方法は「k平均(k-means)」、クラスタ数(k)を6に、開始シードの数はデフォルト値の10に設定しています。 クラスタ数については、事前に「k-centroids診断」ツールを使用して最適値を求めています。
閲覧ツール(1)
最初の閲覧ツールでは、クラスタ解析ツールのアウトプットを確認しています。
クラスタ分析の結果は"何らかの"の基準に基づいてデータをグルーピングしたものになりますが、その結果をどのように解釈するか、あるいは何に使うかは人間の判断に委ねられることになります。 今回のレポートを見ると、クラスタ1に属する店舗は、人口密度(PopDens)が非常に高く、18〜39歳の成人、かつ、1〜2名の世帯が最も多く、ついで、0〜17歳で世帯サイズが3人以上という傾向も見受けられます。 このことから、クラスタ1の店舗は若者あるいは若い夫婦世帯が多いと説明できます。
一方でクラスタ5に属する店舗は人口密度が低く、40〜64歳のアラフォー世代、かつ、所得が比較的高い傾向が見受けられるので、高級住宅街に近いと説明できるかもしれません。
クラスタ付加ツール
クラスタ付加ツールを使用して、実際のデータがどのクラスタに所属するかを確認します。 クラスタ付加ツールでは、k-centroids解析ツールの結果と元のデータを結合して、それぞれのレコードに対してクラスタを割り当てています。 設定項目は項目名のみとなります。
閲覧ツール(2)
2つ目の閲覧ツールでは、クラスタ付加ツールのアウトプットを確認しています。 なお、1つ前の選択ツールは不要なデータを除外しているだけなので、説明は省略します。
これで、店舗ごとのグループを確認することができました。
まとめ
以上、K-Centroids Cluster Analysisワークフローのご紹介でした。 明日17日目はniinoによる「Find Nearest Neighbors」の予定です。明日もお楽しみに。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパート%8