コミュニティクラスタリング
つながりの強いかたまりを見つけます。 「一緒に買われる商品のグループ」「やり取りの多い人のグループ」のように、関係の濃い集まりをネットワークから取り出します。
入出力
| ポート | 内容 |
|---|---|
| 入力データ | データ |
| 出力データ | データ |
Spark エンジンでは動きません。
入力の行も列も残りません。 出力は、アイテムを 1 つずつ並べた別の表です。
出力の形
| 列名 | 内容 |
|---|---|
カテゴリ | そのアイテムがアイテム列1とアイテム列2のどちらから来たか。列名そのものが入ります |
アイテム | アイテムの値 |
クラスタ番号 | 同じかたまりに付く番号。0 から始まります |
カテゴリ と アイテム の昇順に並びます。元の表に戻したいときは、キー列を指定する結合で アイテム をキーにつなぎます。
アイテム列1 と アイテム列2 に同じ値があっても、別々のアイテムとして扱われます。 カテゴリ でどちらの列から来たかが分かります。
設定項目
- アイテム列1を選択必須
- つながりの片方。文字列の列だけ選べます。
- アイテム列2を選択必須
- つながりのもう片方。文字列の列だけ選べます。
オプション
- 重み付きのネットワークにする
- 既定は off。on にすると重みとする列を選択が出ます。
- 重みとする列を選択必須
- 重み付きのネットワークにするが on のときだけ出ます。数値の列だけ選べます。
- resolutionを設定
- グループの細かさ。既定は
1。
入力データの形
1 行が 1 つのつながりを表します。
| アイテム1 | アイテム2 | 回数 |
|---|---|---|
| 商品A | 商品B | 15 |
| 商品A | 商品C | 3 |
「誰と誰」「何と何」が同じ行に並んでいる形にしてから掛けてください。商品の購入履歴のように 1 行 1 商品の形なら、先にキー列を指定する結合で同じレシートどうしを突き合わせて組を作ります。
選んだ列に欠損があるとエラーになります。
resolution
大きくすると細かく分かれ、小さくすると大きなかたまりになります。 既定の 1 から始め、グループ数を見て調整してください。
エラーと対処
処理対象列に欠損値がある
アイテム列(重みを使うときは重みの列も)に空欄があると出ます。
処理対象列に欠損値が含まれています。欠損値を除外するか補完してください。
直し方 — 欠損値処理で欠損のある行を落としてください。
列を選ばずに実行した
アイテム列1を選択・アイテム列2を選択(重みを使うときは重みとする列を選択)のどれかが空のまま実行したときに出ます。前の処理で列名が変わり、選んでいた列が入力データからなくなったときにも同じメッセージです。
対象の列が選択されていません。
直し方 — 列を選び直してください。
よく使う例
1. 一緒に買われる商品のグループを作る
商品をまとめて棚の構成を考えたいとき。
入力
| 商品1 | 商品2 |
|---|---|
| おむつ | ビール |
| おむつ | おしりふき |
| パン | ジャム |
設定
| 設定項目 | 値 |
|---|---|
| アイテム列1を選択 | 商品1 |
| アイテム列2を選択 | 商品2 |
出力 — カテゴリ / アイテム / クラスタ番号 の 3 列になります。おむつ・ビール・おしりふきが同じ番号、パン・ジャムが別の番号になります。
2. つながりの強さを反映する
一緒に買われた回数が多い組を、強いつながりとして扱いたいとき。
入力
| 商品1 | 商品2 | 回数 |
|---|---|---|
| おむつ | ビール | 15 |
| おむつ | パン | 1 |
設定
| 設定項目 | 値 |
|---|---|
| 重み付きのネットワークにする | on |
| 重みとする列を選択 | 回数 |
出力 — 回数の多い組が同じかたまりに入りやすくなります。
3. グループが大きすぎるとき
ほとんどの商品が 1 つのグループになってしまうとき。例 1 のように組がはじめから 2 つに切れているデータでは、resolution を上げても分かれ方は変わりません。 つながりが鎖のように続いているデータで効きます。
入力
| 商品1 | 商品2 |
|---|---|
| おむつ | ビール |
| ビール | おしりふき |
| おしりふき | パン |
| パン | ジャム |
設定
| 設定項目 | 値 |
|---|---|
| resolutionを設定 | 2 |
出力 — より細かく分かれます。
4. 関係の弱い組を外してから掛ける
1 回しか一緒に買われていない組がノイズになるとき。
入力 — 例 2 と同じ
設定 — 先に条件で行をフィルタで 回数 >= 5 に絞ってから、このノードに掛けます。
出力 — 弱いつながりが消え、かたまりがはっきりします。
5. 付いた番号で集計する
グループごとの売上を見たいとき。
入力 — 例 1 の出力
設定 — キー列を指定する結合で アイテム を元データの商品名につなぎ、クラスタ番号 をキーにデータ集計します。
出力 — かたまりごとの合計が出ます。