デシジョン フォレスト モデルはディシジョン ツリーで構成されています。デシジョン フォレスト学習アルゴリズム(ランダム フォレストなど)は、少なくとも部分的に、ディシジョン ツリーの学習に依存しています。
このコースのセクションでは、小さなサンプル データセットを調べて、単一のディシジョン ツリーをトレーニングする方法について学習します。次のセクションでは、ディシジョン ツリーを組み合わせてディシジョン フォレストをトレーニングする方法について説明します。
YDF で CART 学習機能を使用して、個々のディシジョン ツリー モデルをトレーニングします。
# https://ydf.readthedocs.io/en/latest/py_api/CartLearner import ydf model = ydf.CartLearner(label="my_label").train(dataset)
モデル
ディシジョン ツリーは、ツリー状に階層的に編成された一連の「質問」で構成されるモデルです。質問は通常、条件、分割、テストと呼ばれます。このクラスでは「条件」という用語を使用します。リーフ以外のノードには条件が含まれ、リーフノードには予測が含まれます。
植物の木は通常、根が下部にありますが、分類木は通常、根(最初のノード)が上部に表示されます。
図 1. 簡単な分類ディシジョン ツリー。緑色の凡例はディシジョン ツリーの一部ではありません。
ディシジョン ツリー モデルの推論は、条件に応じてサンプルをルート(上部)からリーフノード(下部)のいずれかに転送することで計算されます。到達したリーフの値が、ディシジョン ツリーの予測です。訪問されたノードのセットは推論パスと呼ばれます。たとえば、次の特徴値について考えてみましょう。
num_legs | num_eyes |
---|---|
4 | 2 |
予測結果は「dog」になります。推論パスは次のようになります。
- num_legs ≥ 3 → はい
- num_eyes ≥ 3 → いいえ
図 2. 例 *{num_legs : 4, num_eyes : 2}* でリーフ *dog* に至る推論パス。
上の例では、分類予測が分類ツリーのリーフに含まれています。つまり、各リーフには、考えられる種のセットから動物種が含まれています。
同様に、ディシジョン ツリーは、回帰予測(数値)でリーフにラベルを付けることで、数値を予測できます。たとえば、次の分類ツリーは、動物のかわいらしさを 0 ~ 10 の数値で予測します。
図 3. 数値予測を行うディシジョン ツリー。