アウトオブバッグ評価
ランダム フォレストには検証データセットは必要ありません。ほとんどのランダム フォレストは、アウトオブバッグ評価(OOB 評価)と呼ばれる手法を使用してモデルの品質を評価します。OOB 評価では、トレーニング セットがクロス バリデーションのテストセット上にあるかのように扱われます。
前述のように、ランダム フォレストの各ディシジョン ツリーは通常、トレーニング サンプルの約 67% でトレーニングされます。したがって、各ディシジョン ツリーはトレーニング例の約 33% を参照しません。OOB 評価の基本的な考え方は次のとおりです。
- トレーニング セットでランダム フォレストを評価します。
- 各例に対して、トレーニング中に例を見なかったディシジョン ツリーのみを使用します。
次の表は、6 つのサンプルでトレーニングされた 3 つのディシジョン ツリーを含むランダム フォレストの OOB 評価を示しています。(これは、バギング セクションの表と同じです)。この表は、OOB 評価中にどのサンプルでどのディシジョン ツリーが使用されているかを示しています。
表 7. OOB 評価 - 数字は、特定の例のトレーニング中に特定のトレーニング サンプルが使用された回数を表します。
トレーニング サンプル | OOB 評価の例 | ||||||
---|---|---|---|---|---|---|---|
#1 | #2 | #3 | #4 | #5 | #6 | ||
元のデータセット | 1 | 1 | 1 | 1 | 1 | 1 | |
ディシジョン ツリー 1 | 1 | 1 | 0 | 2 | 1 | 1 | #3 |
ディシジョン ツリー 2 | 3 | 0 | 1 | 0 | 2 | 0 | #2、#4、#6 |
ディシジョン ツリー 3 | 0 | 1 | 3 | 1 | 0 | 1 | 1 と 5 |
表 7 の例では、トレーニング例 1 の OOB 予測はディシジョン ツリー #3 で計算されます(ディシジョン ツリー #1 と #2 はこの例をトレーニングに使用したため)。実際には、適度なサイズのデータセットといくつかのディシジョン ツリーでは、すべてのサンプルに OOB 予測があります。
compute_oob_performances=True
でトレーニングされている場合、トレーニング ログで OOB 評価を使用できます。OOB 評価は、ランダム フォレスト モデルの置換変数の重要度を計算する場合にも効果的です。変数の重要度で説明したように、Permutation Variable Importance は、この変数がシャッフルされたときのモデル品質の低下を測定して、変数の重要度を測定します。ランダム フォレストの「OOB 置換変数の重要度」は、OOB 評価を使用して計算された置換変数の重要度です。
compute_oob_variable_importances=True
でトレーニングされている場合、OOB 並べ替え変数の重要度はトレーニングログで確認できます。