ID3 で決定木っぽいクラスタリング?

最終更新日

こんなデータがあるとしよう

「はい」か「いいえ」で答えられる調査に 1,000 人が回答した。この回答者を階層的にクラスタリングしたい。データは下の表のような感じ。

回答者 ID質問 1質問 2質問 3質問 4質問 5
0001いいえいいえはいいいえはい
0002いいえいいえはいはいはい
1000はいはいいいえいいえいいえ
こんな感じのデータ

このとき、平均情報量が最も大きい質問でズバッと分割するのはどうだろう?要するに「できるだけ半々に近い線で切る」ということ。例えば各質問の回答者数が下表のようなら、平均情報量が最も大きい「質問 3」で分割する。

回答質問 1質問 2質問 3質問 4質問 5
いいえ264490506138792
はい736510494862208
平均情報量 [bit]0.832720.999710.999900.578980.73764
各質問に回答した人数と割合

すると、質問 3 に「はい」と答えた群と、「いいえ」と答えた群に分かれるね。そのそれぞれの群に対して同じように、平均情報量が最大の質問でもう一度分割する。これを繰り返していくと、データを特徴的な集団に分割できないかな?

次々に分割していくイメージ

強いて言えば ID3 に似てる?

上記の手法は、特別な状況を仮定した ID3 (Iterative Dichotomiser 3) とおそらく同じ。すなわち、各質問への回答自体を分類 (正解ラベル) としてしまって、ID3 で決定木を作るのと同じだと思う。クラスのエントロピーは分割の前後で、質問の平均情報量の分だけ減る (= 情報利得がある)。

回答者 ID質問 1質問 2質問 3質問 4質問 5分類
0001いいえいいえはいいいえはい00101
0002いいえいいえはいはいはい00111
1000はいはいいいえいいえいいえ11000
「いいえ」を 0、「はい」を 1 として、各回答者に分類を割り当て

今回の分析の目的はクラスタリングであり、回答者をいくつかの群に分けて理解すること。その点で、決定木のような分類問題を解く (予測をする) ための手法は適さない可能性はある。

それでも平均情報量の多い質問で回答者を分割すると、いい感じに回答者をクラスタリングできる気がするのよね。結果の解釈も容易だし。こんな手法にちゃんとした名前があれば、ぜひ教えてください🙏 あるいは学術的にこれが悪い手法だと言える理論があるなら、それを知りたいな。

階層的クラスタリングの手法

確立された階層的なクラスタリングの手法として、Diana 法 (Divisive Analysis) がある。これは上から下の方向に分割していくという点で、上記の方法と通じる点がある。他に下から上の方向 (凝集型) もあるみたいだけど、今回は別の話。

クラスタリング

Diana 法を適用できるのは、各データ間に距離が定義できるとき。アンケートの回答のような、距離を定義しにくいデータには適用しにくそう。というわけで僕は、質問の平均情報量で回答者を分割してクラスタリングしてみたくなったのでした。

コメントを残す

回れ右の内輪差をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む