決定木の成長
既定では、fitctree
と fitrtree
は "標準 CART" アルゴリズム[1]を使用して決定木を作成します。つまり、以下の手順を実行します。
すべての入力データに対して処理を開始し、それぞれの予測子に関して、取りうるすべてのバイナリ分割を調査します。
目的に最も適した最適化条件をもつ分割を選択します。
分割により、観測値が少なすぎる (
MinLeafSize
パラメーターより小さい) 子ノードが生成される可能性があります。これを回避するため、MinLeafSize
の制約に従う最適化条件が最高になる分割が選択されます。
分割を適応させます。
2 つの子ノードに対して再帰的に手順を反復します。
この説明にはさらに次の 2 つの項目が必要です。最適化条件の記述と停止規則です。
停止規則: 次のいずれかの条件が成立すると分割を停止します。
ノードが "純粋" である。
分類の場合は、1 つのクラスの観測値だけが含まれるときに、ノードは純粋であるとされます。
回帰の場合は、このノードの観測された応答の平均二乗誤差 (MSE) が、データ全体の観測された応答の MSE にノードあたりの 2 次誤差の許容誤差 (
QuadraticErrorTolerance
パラメーター) を乗算した値を下回った場合に、ノードが純粋であるとされます。
このノードの観測値の数が
MinParentSize
より少ない。このノードをどのように分割しても、生成される子の数が
MinLeafSize
観測値より少ない。アルゴリズムによりノードが
MaxNumSplits
個に分割される。
最適化条件:
回帰の場合: 平均二乗誤差 (MSE)。学習データと比較した場合に予測の MSE が最小になる分割を選択します。
分類: 3 つの測定方法のいずれか (値と名前のペア
SplitCriterion
の設定により決定)'gdi'
(ジニ多様性指数、既定の設定)'twoing'
'deviance'
詳細については、
ClassificationTree
のMore Aboutを参照してください。
他の分割予測子選択手法については、分割予測子選択手法の選択を参照してください。
連続予測子の場合は、この予測子で検出された 2 つの隣接する一意の値の中間で、ツリーを分割できます。L 水準のカテゴリカル予測子の場合、最適な分割を見つけるために、分類木では 2L–1–1 とおりの分割を検討する必要があります。または、ヒューリスティック アルゴリズムを選択して適切な分割を見つけることができます。詳細は、分類木のカテゴリカル予測子の分割 を参照してください。
デュアルコア以上のシステムの場合、fitctree
と fitrtree
では Intel® スレッディング ビルディング ブロック (TBB) を使用して決定木の学習を並列化します。Intel TBB の詳細については、https://www.intel.com/content/www/us/en/developer/tools/oneapi/onetbb.htmlを参照してください。
参照
[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