決定木
決定木、つまり分類木と回帰木は、データに対する応答を予測します。応答を予測するには、ツリーのルート (開始) ノードから葉ノードの方向に意思決定を行います。葉ノードには応答が含まれます。分類木は、'true'
または 'false'
などのノミナルな応答を出力します。回帰木は数値的な応答を出力します。
Statistics and Machine Learning Toolbox™ のツリーは二分木です。予測の各段階では、1 つの予測子 (変数) について値のチェックが行われます。たとえば、次の図は単純な分類木を示しています。
このツリーでは、2 つの予測子 x1
と x2
に基づいて分類を予測します。予測は、三角形 (Δ) で表されたトップ ノードから開始されます。最初に、x1
が 0.5
より小さいかどうかを判断します。小さい場合には左に分岐して、ツリーはデータを 0
というタイプに分類します。
ただし、x1
が 0.5
を超える場合には右側に分岐して、右下にある三角形で表されたノードに到達します。ここでは、x2
が 0.5
より小さいかどうかが問題になります。小さい場合には左に分岐して、ツリーはデータを 0
というタイプに分類します。それ以外の場合には右に分岐して、ツリーはデータを 1
というタイプに分類します。
決定木を使用して分類または回帰用にデータを用意する方法については、教師あり学習のステップを参照してください。
分類木の学習
この例では、分類木に学習をさせる方法を示します。
ionosphere
データ セット全体を使用して分類木を作成します。
load ionosphere % Contains X and Y variables Mdl = fitctree(X,Y)
Mdl = ClassificationTree ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' NumObservations: 351
回帰木の学習
この例では、回帰木に学習をさせる方法を示します。
carsmall
データ セットの観測値をすべて使用して回帰木を作成します。ベクトル Horsepower
および Weight
が予測子変数、ベクトル MPG
が応答であると考えます。
load carsmall % Contains Horsepower, Weight, MPG X = [Horsepower Weight]; Mdl = fitrtree(X,MPG)
Mdl = RegressionTree ResponseName: 'Y' CategoricalPredictors: [] ResponseTransform: 'none' NumObservations: 94
参照
[1] Breiman, L., J. H. Friedman, R. A. Olshen, and C. J. Stone. Classification and Regression Trees. Boca Raton, FL: Chapman & Hall, 1984.
参考
fitctree
| fitrtree
| ClassificationTree
| RegressionTree