こんにちは、みっちゃんです。

今回の記事では、「決定木」について紹介したいと思います。

(想定している読者)
- 「決定木」という単語を初めて聞いたという方
- 「決定木」の意義や使い方がわからない方
- 「決定木」の書き方を知りたい方

目次(まとめ)
- 決定木とは、Yes/Noチャートで見られるようなデータ分類手法
- 決定木の形を正確に決定するためには、データ解析が必須
- 決定木を描くためのテンプレートが提供されている
- 参考文献

決定木とは、Yes/Noチャートで見られるようなデータ分類手法

みなさん、Yes/Noチャートはご存知でしょうか?

「Yes/Noチャート」という単語自体には馴染みがないかもしれませんが、一度は見たことがあるものだと思います。

例えば、性格占いの目的で、スタート地点からゴール地点まで、質問にYesかNoで答えながら進んでいくと、あなたの性格が提示されるという図(チャート)のことです。ビジネスにおいても、現在の状況に合わせて、次の施策を決定するために使われることもあります。

私の印象では、Yes/Noチャートは、シンブルであるにも関わらず、自分にあった結果が得られる場合が多いです(つまり、正しく予想されている)。

みなさんの印象はどうでしょうか?

決定木とは、Yes/Noチャートのように、シンプルな分類規則(YesかNo)を組み合わせて、複雑な分類(性格A, 性格B, ...)を可能にする手法です。

決定木の形を正確に決定するためには、データ解析が必須

それでは、どうして決定木(Yes/Noチャート)を使うと、確からしい分類ができるのでしょうか?

実用上、その必要があるかどうかはわかりませんが、正確に決定木をつくるためには、手持ちのデータを統計的に解析する必要があります。

例えば、上で示した性格占いの場合であれば、ゴール地点に準備している性格(性格A, 性格B, …)をもつ人を複数集めます。そして、性格Aをもっている人たちに共通する嗜好を調べて、性格Aの人を区別できるような質問文を設計します。性格Bを持っている人も、同じように調べます。

調べた結果として得られた質問文をつないで、決定木がつくられていきます。

つまり、ゴール地点からさかのぼりながら、決定木を作っていくイメージです。

決定木を利用する人は、当然スタート地点から質問に答えていくわけですが、決定木を作るために利用した人たちの性格と照らし合わせて、妥当な性格に分類されていくということになります。

ただし、質問が多ければ多いほど、つまり、決定木を作るために利用した人たちと全く同じ性格の人を分類するような決定木は、汎用性がありません。

決定木を作るためのアルゴリズム(RやPython)には、こうした考慮を反映できるようになっています。

決定木を描くためのテンプレートが提供されている

決定木(Yes/Noチャート)は、インターネット上のさまざまなテンプレートを使用して簡単に描くことができます。

ただ、マニュアルで作成した決定木が、実用的にどれぐらい有用なのかは、きちんと評価する必要があると思います。

決定木の正確な描き方については、また別の記事で紹介します。

参考文献

平井有三「はじめてのパターン認識」森北出版