決定木
Decision Tree
概要(教師あり|分類・回帰)
決定木は、対象がどのカテゴリー(名義尺度)に属するかを予測する「クラス分類(教師あり学習)」の代表的な手法の一つで、条件分岐によってグループを分割します。意志決定の参考となる情報を得るためのグラフとなるもので、文字どおり、幹から枝葉へと向かう樹木のような有向グラフになります。例えば、運動会の実施か延期かの意思決定を行うのに、説明変数(入力データ)として、天候、気温、湿度、風速といったものを与え、目的変数(分類結果)には、「実施する」、「実施しない」といった目的変数が設定されます。
- 決定木
- 分類木:目的変数が血液型のような分類可能な変数であり、分類を目的として決定木のアルゴリズムを使用する場合
- 回帰木:不動産家賃の変動や、株価の変動等、過去・現在のデータから、未来の数値を予想する場合
プログラム例(分類)
以下に、決定木のサンプルを掲載しています。データ全体を、訓練データとテストデータに分けて機械学習を行っています。
ipynb(JupyterNotebook)形式で、GitHubに置いていますが、レンダリングがタイムアウトする場合は、下の nbviewer 経由でご覧下さい。
- GitHub:DecisionTreeAnalysis.ipynb
- nbviewer:DecisionTreeAnalysis.ipynb
- 使用したライブラリ
- numpy:数値計算
- pandas:データ解析
- matplotlib:グラフ描画
- sklearn:決定木
- 使用しているデータ:IRIS(scikit-learnに付属)
以下の項目をもつ150の計測データ- Sepal Length(がく片長 cm)
- Sepal Width(がく片幅 cm)
- Petal Length(花びら長 cm)
- Petal Width(花びら幅 cm)
- Species:setosa, versicolor, virginica
- 訓練データ:全体の70%を使用
- テストデータ:全体の30%を使用