コンテンツにスキップ

クラスタ解釈用データを作る

クラスタリングした結果を入力すると、クラスタごとの代表値をまとめた表を作ります。クラスタ番号だけでは分からない「このグループは何者か」を読むための機能です。

入出力

ポート内容
入力データクラスタ番号 の列を持つデータ
クラスタ特徴クラスタごとの代表値・データ数・特徴の列をまとめた表
グラフ用データ代表値の列だけを縦長に並べ替えたもの。棒グラフにそのまま使えます

入力には クラスタ番号 の列が要ります。 K-means などのクラスタリングの出力をそのままつないでください。

Spark エンジンでは動きません。

設定項目

「オプション」はチェックを入れるまで中身が出ません。 見出しの横のチェックボックスを on にすると、集約関数を選択 が出ます。

クラスタリングに利用した列を指定する
チェックを入れると、下に列を選ぶ欄が出ます。入れないときは、データの中の数値列すべてがまとめの対象になります。
対象列を選択
上のチェックを入れたときだけ出ます。まとめたい数値の列を選びます。複数選べます。クラスタリングに使った列をそのまま選ぶと読みやすくなります。
集約関数を選択
平均(既定)か中央値。選んだほうで代表値を出します。

出力される列

クラスタ特徴

列中身
クラスタ番号元のクラスタ番号
平均_(列名)その列のクラスタごとの平均。集約関数に中央値を選ぶと 中央値_(列名) になります
データ数そのクラスタに入っている行数
特徴_高そのクラスタでとくに高い列の名前をカンマでつないだもの
特徴_低そのクラスタでとくに低い列の名前をカンマでつないだもの

特徴_高 と 特徴_低 は、列ごとの代表値をクラスタ間で並べ直して決めています。 クラスタの中で飛び抜けて高い(低い)列が、そのクラスタの名札になります。どちらにも当てはまらないクラスタでは空欄になります。

グラフ用データ

クラスタ番号・特徴量名・値の 3 列です。縦棒グラフに入れると、クラスタごとの代表値を並べて見られます。

読み方の例

アヤメのデータを 3 つに分けたときの出力

アヤメ(iris)150 行を K-means(クラスタ数 3、乱数シード 42)で分け、集約関数は既定の平均で実行したときの クラスタ特徴 です。

クラスタ番号平均_がく長さ平均_がく幅平均_花弁長さ平均_花弁幅データ数特徴_高特徴_低
05.9022.7484.3941.43462(空欄)平均_がく幅
15.0063.4281.4620.24650平均_がく幅平均_がく長さ,平均_花弁長さ,平均_花弁幅
26.8503.0745.7422.07138平均_がく長さ,平均_花弁長さ,平均_花弁幅(空欄)

ここから読めること

  • クラスタ 1(50 行) — 花弁が飛び抜けて小さく、そのわりにがくは最も幅広い。特徴_高 が 平均_がく幅 だけ、特徴_低 が残り 3 列、という組み合わせがそのまま名札になります
  • クラスタ 2(38 行) — がくの長さと花弁の 2 列が高い側。特徴_低 は空欄です
  • クラスタ 0(62 行) — どの列も飛び抜けていないので 特徴_高 が空欄になります。「中間のグループ」はこの形で見分けられます

特徴_高 / 特徴_低 は、列ごとの代表値をクラスタ間で偏差値に直して決めています。 クラスタが 3 つのときは、最も高い 1 つが 特徴_高 に、最も低い 1 つが 特徴_低 に入ることがほとんどで、差が小さい列はどちらにも入りません。 クラスタ 0 の 平均_がく長さ(5.902、3 つの真ん中)が入っていないのがその例です。

クラスタ番号の振られ方は乱数シードで変わります。 上の 0 / 1 / 2 という番号そのものに意味はありません。

エラーと対処

どのエラーも、つなぎ方か入力データを直して実行し直せば消えます。

クラスタ番号の列がない

クラスタ番号列にクラスタリング結果が入っているデータを入力してください。

直し方 — K-means などのクラスタリングの出力をつなぎます。途中で列名を変えていたら クラスタ番号 に戻してください

処理対象列に数値以外がある

処理対象列に数値型以外のデータが含まれてます。型変換をするか、数値型以外の列を除去してください。

直し方 — 列の型変更で数値にするか、その列を外します。「クラスタリングに利用した列を指定する」で数値列だけを選んでも直ります

よく使う例

1. クラスタの特徴を読む

お題 — クラスタ番号は出たが、各グループが何者か分からない

入力 — K-means の出力(購入金額・来店回数・クラスタ番号)

設定 — 既定のまま(チェックなし、集約関数は平均)

出力 — クラスタごとの平均と 特徴_高 / 特徴_低。名札になる列がそのまま読める

2. まとめる列を絞る

お題 — ID や年号の列まで平均されてしまう

入力 — クラスタリングの出力(数値列が 20 列ある)

設定 — 「クラスタリングに利用した列を指定する」にチェックを入れ、意味のある数値列だけ選ぶ

出力 — 選んだ列だけの平均になり、表が読める幅に収まる

3. 外れ値に引っぱられないようにする

お題 — 1 件だけ桁違いの行があり、平均が実態とずれる

入力 — クラスタリングの出力

設定 — 集約関数に 中央値 を選ぶ

出力 — 列名が 中央値_(列名) に変わり、真ん中の値で比べられる

4. グラフにして見比べる

お題 — 表の数字だけでは差が分かりにくい

入力 — このノードの グラフ用データ ポート

設定 — 縦棒グラフで、横軸に特徴量名、縦軸に値、色分けにクラスタ番号

出力 — クラスタごとの高さの違いが並んで見える

関連