Main Content

決定木の成長

既定では、fitctreefitrtree"標準 CART" アルゴリズム[1]を使用して決定木を作成します。つまり、以下の手順を実行します。

  1. すべての入力データに対して処理を開始し、それぞれの予測子に関して、取りうるすべてのバイナリ分割を調査します。

  2. 目的に最も適した最適化条件をもつ分割を選択します。

    • 分割により、観測値が少なすぎる (MinLeafSize パラメーターより小さい) 子ノードが生成される可能性があります。これを回避するため、MinLeafSize の制約に従う最適化条件が最高になる分割が選択されます。

  3. 分割を適応させます。

  4. 2 つの子ノードに対して再帰的に手順を反復します。

この説明にはさらに次の 2 つの項目が必要です。最適化条件の記述と停止規則です。

停止規則: 次のいずれかの条件が成立すると分割を停止します。

  • ノードが "純粋" である。

    • 分類の場合は、1 つのクラスの観測値だけが含まれるときに、ノードは純粋であるとされます。

    • 回帰の場合は、このノードの観測された応答の平均二乗誤差 (MSE) が、データ全体の観測された応答の MSE にノードあたりの 2 次誤差の許容誤差 (QuadraticErrorTolerance パラメーター) を乗算した値を下回った場合に、ノードが純粋であるとされます。

  • このノードの観測値の数が MinParentSize より少ない。

  • このノードをどのように分割しても、生成される子の数が MinLeafSize 観測値より少ない。

  • アルゴリズムによりノードが MaxNumSplits 個に分割される。

最適化条件:

  • 回帰の場合: 平均二乗誤差 (MSE)。学習データと比較した場合に予測の MSE が最小になる分割を選択します。

  • 分類: 3 つの測定方法のいずれか (値と名前のペア SplitCriterion の設定により決定)

    • 'gdi' (ジニ多様性指数、既定の設定)

    • 'twoing'

    • 'deviance'

    詳細については、ClassificationTreeMore Aboutを参照してください。

他の分割予測子選択手法については、分割予測子選択手法の選択を参照してください。

連続予測子の場合は、この予測子で検出された 2 つの隣接する一意の値の中間で、ツリーを分割できます。L 水準のカテゴリカル予測子の場合、最適な分割を見つけるために、分類木では 2L–1–1 とおりの分割を検討する必要があります。または、ヒューリスティック アルゴリズムを選択して適切な分割を見つけることができます。詳細は、分類木のカテゴリカル予測子の分割 を参照してください。

デュアルコア以上のシステムの場合、fitctreefitrtree では 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.

参考

| | |

関連するトピック