その他のトピック

このユニットでは、次のトピックについて学習します。

  • ランダム フォレストの解釈
  • ランダム フォレストのトレーニング
  • ランダム フォレストの長所と短所

ランダム フォレストの解釈

ランダム フォレストは、ディシジョン ツリーよりも解釈が複雑です。ランダム フォレスト ランダムノイズでトレーニングされたディシジョン ツリーを含んでいます。そのため、新しい Pod を ディシジョン ツリー構造について判断します。ただし、ランダム性は いくつかご紹介します。

ランダム フォレストを解釈する方法の一つとして、単純に デシジョン ツリーです。ランダム フォレストと CART はどちらも 同じコア アルゴリズムでトレーニングされているため、「同じグローバル ビューを共有」している 見てみましょう。このオプションは、単純なデータセットの場合や、 モデルの全体的な解釈を行います

変数の重要度も解釈可能性として アプローチですたとえば、次の表では、変数の重要度を トレーニングされたランダム フォレスト モデルに 国勢調査データセット( (アダルト)と見なされます)。

<ph type="x-smartling-placeholder"></ph> 表 8:14 種類の特徴の重要度。 で確認できます。

特集 合計スコア 精度の平均低下率 AUC の平均減少率 平均最小深度 ノード数 PR-AUC の平均減少率 ルートとして数値
関係

4203592.6

0.0045

0.0172

4,970

57040

0.0093

1095

capital_gain

3363045.1

0.0199

0.0194

2,852

56468

0.0655

457

marital_status

3128996.3

0.0018

0.0230

6,633

52391

0.0107

750

年齢

2520658.8

0.0065

0.0074

4,969

356784

0.0033

200

教育

2015905.4

0.0018

-0.0080

5,266

115751

-0.0129

205

職業

1939409.3

0.0063

-0.0040

5,017

221935

-0.0060

62

education_num

1673648.4

0.0023

-0.0066

6,009

58303

-0.0080

197

fnlwgt

1564189.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

capital_loss

866863.8

0.0060

0.0020

8,076

58531

0.0118

1

ワーククラス

644208.4

0.0025

-0.0019

9,898

132196

-0.0023

0

native_country

538841.2

0.0001

-0.0016

9,434

67211

-0.0058

0

性別

226049.3

0.0002

0.0002

10,911

37754

-0.0011

13

人種

168180.9

-0.0006

-0.0004

11,571

42262

-0.0031

0

ご覧のとおり、変数の重要度の定義が異なれば、尺度も異なります 特徴量のランキングに違いが生じることがあります

モデル構造に由来する変数の重要度(合計値など) スコア、平均最小深度、ノード数、ルートとしての num など)が ディシジョン ツリーについても同様に計算されます(「カート | 変数の重要度」のセクションを参照) ランダム フォレストです。

並べ替え変数の重要度(例: {accuracy、auc、 pr-auc} など)はモデルに依存しない尺度であり、 検証データセットを持つ任意の ML モデルです。ランダム フォレストを使用すると、 検証用データセットを使用する代わりに 順列を計算できます 範囲外評価で変数の重要度を評価できます

SHAPShapley Additive exPlanations)は、モデルに依存しない方法で 個々の予測やモデル単位の解釈を説明できます。(参照: 解釈可能な ML をご覧ください)。SHAP 通常はコンピューティング費用がかかりますが 意思決定を大幅にスピードアップ デシジョン フォレストの解釈に適しています。

使用例

前のレッスンでは、小さなデータセットで CART ディシジョン ツリーをトレーニングしました。 tfdf.keras.CartModel を呼び出します。ランダム フォレスト モデルをトレーニングするには、 tfdf.keras.CartModeltfdf.keras.RandomForestModel に置き換えます。

model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)

長所と短所

このセクションでは、ランダム フォレストの長所と短所を簡単に説明します。

長所:

  • ディシジョン ツリーと同様に、ランダム フォレストは数値および 特徴があり、多くの場合、特徴の前処理は必要ありません。
  • ディシジョン ツリーは独立しているため、ランダム フォレストは ありますそのため、ランダム フォレストを迅速にトレーニングできます。
  • ランダム フォレストにはデフォルトのパラメータがあり、多くの場合、優れた結果が得られます。調整 これらのパラメータは多くの場合、モデルにほとんど影響を与えません。

短所:

  • ディシジョン ツリーはプルーニングされないため、大きくなる可能性があります。より多くの 100 万ノードが一般的です。モデルのサイズ(つまり推論速度)が ランダム フォレストが問題となる場合があります。
  • ランダム フォレストは内部表現を学習して再利用できません。各 (および各ディシジョン ツリーの各ブランチ)に、 必要があります。一部のデータセットでは、特に表形式以外のデータセット(画像、音声、 使用すると、ランダム フォレストの結果が他の方法よりも悪くなります。