機械学習やデータマイニングなどにおいて、「決定木分析」(ディシジョンツリー)という言葉をよく聞きますよね。そもそも決定木ってなに?とか、なんとなく理解している、という方はいるかもしれません。
決定木とは、データを分かりやすく分類して予測モデルを構築することのできる手法です。なぜ機械学習で決定木が必要かというと、決定木があれば処理結果が解釈しやすくなり、数値やカテゴリデータが混ざっていてもデータを扱えるからです。また決定木を使えば、データを前処理する負担がかなり減るだけでなく、回帰や分類にも活用ができます。
とはいえ、決定木は難しい手法ではありません。またデータ分析やビジネスシーンでも活用されます。ぜひ、この記事の内容を使ってあなたの分析の幅を広げましょう。
そこで今回は、決定木について解説します。
決定木とは
決定木とは木構造でデータを分類していく手法です。 木構造なのでデータを上から各クラスに分類していくので、分析結果の解釈が容易になります。こうしてデータを分かりやすく分類し、 顧客情報やアンケート結果の予測モデルを作成します。
具体的な例でみてみましょう。 ある商品の購入率が40%で未購入60%で、誰によく買われているかを知りたい場合を考えます。
その際、アンケートで聞いた項目は性別、年齢、趣味、職業、世帯年収、(アウトドア派/インドア派)だとします。まずは、属性である男性か女性かで購入、未購入を分類しましょう。次にアウトドア派かインドア派で購入を分類します。
未購入40% 購入70%
/ \
アウトドア 派 インドア派
購入 80% 購入 40%
未購入20% 未購入60%
この場合、男性で趣味がアウトドア派の方が買われていることが分かります。 このように、決定木で分類すると樹木状に可視化できるので分かりやすく、解釈も簡単です。
この購入率が目的変数、性別、年齢、趣味、職業、世帯年収、(アウトドア派/インドア派)が説明変数となります。
決定木には、いくつかのアルゴリズムがあるのですが、CART(Classification and Regression Tree)と呼ばれるものが一般的でCARTといえば決定木といっても良いでしょう。CARTとは説明変数の値に対して条件を「YesかNo」の条件によって予測をおこないます。
CARTが一般的な使われているのは、クレジットカードのローンの審査です。クレジットカード会社で貸し出しの判断は、期日内に返済できるかが重要ですよね。そこで、過去の性別や年齢・収入といったデータをもとにCART分析することで、申請したきた人に貸し出しするか否かを判断することができます。
決定木の種類
決定木は、分類木と回帰木に分けられ、それぞれの特徴は以下のようになります。
回帰木:不動産の家賃の変動や、株価の変動等、分類ではなく、過去、及び、現在のデータから、未来の数値を予想する場合に使われる
どのような違いがあるかを温度でみてみます。分類は、湿度と温度がどのような時に暑いかと感じるかを分ける時、回帰は、温度と湿度がどのようなときにどれくらい水を飲むかを予測する時に使います。
分類
温度と湿度が、どのような時暑いと感じるかを例にあげます。
/ \
No Yes
暑くない 湿度60度以上?
/ \
No Yes
温度30度以上
/ \
No YES
暑くない 暑い
このように分類のルールをツリーで表現したものを分類木といいます。
回帰
温度と湿度が、どのようなときにどれくらい水を飲むかを例にあげます。
/ \
No Yes
1.0L飲む 温度60%以上
/ \
No Yes
2.0L飲む
温度30度以上?
/ \
No Yes
1.5L飲む 2.5L飲む
推定のルールをツリーで表現したものを回帰木と言います。
決定木の特徴
決定木の特徴はなんといっても、効果的な切り口を発見しやすいところです。これまでは、仮説に基づいて、クロス集計などを実施していましたが、詳しくみるためには大変な作業が発生していました。
決定木分析は、モデルの簡便さと、アウトプットの分かり易さが特徴で、データの中に隠れている注目すべき要素を特定しやすいという点が挙げられます。 モデルを利用するより、データが分割されていく流れを把握することができます。
決定木のメリットとデメリット
決定木には、次のようなメリット、デメリットがあります。
メリット
- 予測の理解が容易
- 予測にたどり着くまでの道筋がわかる
- 分類・回帰をはじめとして、あらゆる問題にに適用できる
決定木では、説明変数に対して条件を「YesかNo」の条件によっての予測ができます。またデータの前処理も含めて、予測する計算量が少なくすむため、計算が楽になるでしょう。
また、予測を行うときも「なぜその予測にたどり着いたか」がわかりやすいので、どういう基準で分けたか、どこで分類が分かれているのかを判断できます。
デメリット
- 外れ値の影響を受けやすい
- 過学習になりやすい
決定木は、結果から予測した値と実際の正解とのズレが大きくなる傾向があります。このため、決定木を使うときはこのズレがあることを意識しましょう。
また、決定木は過学習になりやすく、条件分岐が複雑になるとデータをまとめようとするので汎用的でなくなります。この辺りも、注意が必要です。
AI(人工知能)での決定木の使い方
AI(人工知能)での決定木は、予測における初期分析や、現在のデータの構造把握に用いられます。
例えば、ECサイトでお客様が商品を購入するかしないかを判別するモデルを作るとしましょう。お客様のモデルを構造化するためにお客様の過去の購買データやWebサイト閲覧データ、いわゆる、行動データや性別や年齢などの属性データが判別できます。 決定木で分類すると最終的なモデルを見ることで男性の3代でWebサイトでの訪問が月20回以上あれば購買すると分類ルールを可視化できます。
/ \
30代 30代以外
No Yes
/ \
Webサイト訪問20回/月
/ \
No Yes
購買
決定木単体ではそれほど高い精度は期待できないですが、アンサンブル学習と組み合わせることで精度を高い段階まで上げることができます。 アンサンブル学習とは複数の学習を組み合わせる方法です。この記事では、アンサンブル学習の一つであるランダムフォレストとXgboostという方法について解説していきます。
※アンサンブル学習については、こちらで解説しています
ランダムフォレストでは、決定木を複数作ってそれらの多数決で最終結果を決めます。 この方法は、アンサンブル学習のなかでもバギングとよばれ、分類の時は多数決で判断します。また回帰の時は、平均を取るため通常の決定木よりも大幅な精度向上が期待できます。
※ランダムフォレストについて知りたい方はこちら
次は、Xgboostです。ランダムフォレストと同様に複数の決定木を学習していくのですがランダムフォレストとは若干学習方法が異なり、 それはランダムフォレストは要素を並列に並べる手法でしたが、Xboostは要素を直列に並べていく手法です。前の決定木で判断できなかった部分に焦点を当てて、次の決定木で学習していくイメージです。 決定木単体では上手く判別できない要素も、決定木を直列に組み合わせることで判別できるようになり精度はランダムフォレストより高くなるでしょう。
さて、今回は決定木について解説しました。
- 決定木とは木構造でデータを分類していく手法
- 決定木の種類には、分類木、回帰木がある
- 決定木の特徴は効果的な切り口を発見しやすいところ
- 決定木のメリットとして、理解がしやすくなる、なぜその予測にたどり着いたが容易に判断できる、分類・回帰の両方に適用できる、あらゆる問題に広く適用できるがある。デメリットとしては、分散が大きくはずれ値の影響を受けやすい、過学習しやすいがある
- AI(人工知能)での決定木の使い方 では、予測における初期分析や、現在のデータの構造把握に用いられる
決定木を使うことで、予測や分類が容易に行うことができます。早速アイスクリームをどんな時購入するか。気温、年齢、性別などを考えて作ってみましょう。
【お知らせ】
当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。
御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。