このユニットでは、次のトピックについて説明します。
- ランダム フォレストの解釈
- ランダム フォレストのトレーニング
- ランダム フォレストの長所と短所
ランダム フォレストの分析
ランダム フォレストは、ディシジョン ツリーよりも解釈が複雑です。ランダム フォレストには、ランダム ノイズでトレーニングされたディシジョン ツリーが含まれます。したがって、ディシジョン ツリー構造を判断しにくくなっています。ただし、いくつかの方法により、ランダムなフォレスト モデルを解釈できます。
ランダム フォレストを解釈する方法の一つは、CART アルゴリズムを使用して決定木をトレーニングして解釈することです。ランダム フォレストと CART はどちらも同じコア アルゴリズムでトレーニングされるため、データセットの同じグローバル ビューを共有します。このオプションは、単純なデータセットで、モデルの全体的な解釈を理解するのに役立ちます。
変数の重要度も、解釈可能性の優れたアプローチの 1 つです。たとえば、次の表は、国勢調査データセット(アダルトとも呼ばれます)でトレーニングされたランダム フォレスト モデルのさまざまな特徴の重要度の重要度を示しています。
表 8. 14 種類の特徴の重要度の変動
特集 | 合計スコア | 平均精度低下 | AUC の平均減少率 | 平均最小深度 | ノード数 | PR-AUC の平均減少率 | root としての数値 |
---|---|---|---|---|---|---|---|
関係 | 4203592.6 |
0.0045 |
0.0172 |
4.970 |
57040 |
0.0093 |
1095 |
Capital_gain | 3363045.1 |
0.0199 |
0.0194 |
2852 |
56468 |
0.0655 |
457 |
marital_status | 3128996.3 |
0.0018 |
0.0230 |
6.633 |
52391 |
0.0107 |
750 |
年齢 | 2,520,658.8 |
0.0065 |
0.0074 |
4.969 人 |
356784 |
0.0033 |
200 |
教育 | 2015905.4 |
0.0018 |
-0.0080 |
5.266 |
115751 |
-0.0129 |
205 |
職業 | 1,939,409.3 |
0.0063 |
-0.0040 |
5.017 |
221935 |
-0.0060 |
62 |
Education_num | 1,673,648.4 |
0.0023 |
-0.0066 |
6.009 |
58303 |
-0.0080 |
197 |
fnlwgt | 1,564,189.0 |
-0.0002 |
-0.0038 |
9.969 |
431987 |
-0.0049 |
0 |
hours_per_week | 1333976.3 |
0.0030 |
0.0007 |
6.393 |
206526 |
-0.0031 |
20 |
資本ロス | 866863.8 |
0.0060 |
0.0020 |
8.076 |
58531 |
0.0118 |
1 |
ワーククラス | 644,208.4 |
0.0025 |
-0.0019 |
9.898 |
132196 |
-0.0022 |
0 |
ネイティブ国 | 5,38841.2 |
0.0001 |
-0.0016 |
9.434 人 |
67211 |
-0.0058 |
0 |
性別 | 226049.3 |
0.0002 |
0.0002 |
10.911 |
37754 |
-0.0011 |
13 |
レース | 1,681,809.9 |
-0.0006 |
-0.0004 |
11.571 |
42262 |
-0.0031 |
0 |
ご覧のように、変数の重要度の定義が異なると、規模が異なり、特徴のランキングに違いが生じる可能性があります。
モデル構造に由来する変数の重要度(たとえば、合計スコア、平均最小深度、ノード数、上の表の root の数)は、ディシジョン ツリー(セクション「カート | 変数の重要度」を参照)とランダム フォレストについて同様に計算されます。
順列の変数の重要度(たとえば、上記の表の平均 {accuracy、auc、pr-auc} の減少)は、検証データセットを使用して任意の機械学習モデルで計算できる、モデルに依存しないメジャーです。ランダム フォレストでは、検証用データセットを使用する代わりに、バッグ外評価によって順列の変数の重要度を計算できます。
SHAP(SHapley Additive exPlanations)は、モデルに依存しない方法で、個々の予測またはモデルごとの解釈を説明します。(モデルに依存しない解釈の概要については、Molnar の解釈可能な機械学習をご覧ください)。SHAP は、通常はコンピューティングの費用が高くなりますが、デシジョン フォレストに対して大幅な高速化につながる可能性があるため、デシジョン フォレストを解釈する良い方法となります。
使用例
前のレッスンでは、tfdf.keras.CartModel
を呼び出して、小さなデータセットで CART 決定木をトレーニングしました。ランダムなフォレスト モデルをトレーニングするには、tfdf.keras.CartModel
を tfdf.keras.RandomForestModel
に置き換えます。
model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)
長所と短所
このセクションでは、ランダム フォレストのメリットとデメリットについて簡単に説明します。
長所:
- ディシジョン ツリーと同様に、ランダム フォレストはネイティブの数値特徴とカテゴリ特徴をサポートし、多くの場合、特徴の前処理は必要ありません。
- ディシジョン ツリーは独立しているため、ランダム フォレストを並行してトレーニングできます。したがって、ランダムなフォレストをすばやくトレーニングできます。
- ランダム フォレストにはデフォルトのパラメータが設定されており、たいていの場合、良好な結果が得られます。多くの場合、これらのパラメータを調整してもモデルへの影響はほとんどありません。
短所:
- ディシジョン ツリーはプルーニングされないため、サイズが大きい場合があります。ノード数が 100 万を超えるモデルは一般的です。ランダム フォレストのサイズ(したがって推論速度)が問題になることがあります。
- ランダム フォレストは内部表現を学習して再利用できません。各決定木(および各決定木の各ブランチ)は、データセット パターンを再学習する必要があります。特に表形式ではないデータセット(画像、テキストなど)では、ランダム フォレストが他の方法よりも悪い結果になることがあります。