predictorImportance
決定木の回帰アンサンブルに関する予測子の重要度の推定
説明
例
予測子の重要度の推定
データ内のすべての予測子変数について予測子の重要度を推定します。
carsmall
データ セットを読み込みます。
load carsmall
Acceleration
、Cylinders
、Displacement
、Horsepower
、Model_Year
および Weight
を予測子として使用して、MPG
に対する 100 本の回帰木のアンサンブルを成長させます。弱学習器として木の切り株を指定します。
X = [Acceleration Cylinders Displacement Horsepower Model_Year Weight];
t = templateTree(MaxNumSplits=1);
ens = fitrensemble(X,MPG,Method="LSBoost",Learners=t);
すべての予測子変数について予測子の重要度を推定します。
imp = predictorImportance(ens)
imp = 1×6
0.0150 0 0.0066 0.1111 0.0437 0.5181
最後の予測子 Weight
は、燃費に対する影響が最も大きくなっています。2 番目の予測子の重要度は 0 です。これは、ens
による予測に気筒数が影響を与えないことを意味します。
予測子の重要度と代理分岐
代理分岐が含まれているアンサンブル回帰木で、データに含まれているすべての変数について予測子の重要度を推定します。
carsmall
データ セットを読み込みます。
load carsmall
Acceleration
、Cylinders
、Displacement
、Horsepower
、Model_Year
および Weight
を予測子として使用して、MPG
に対する 100 本の回帰木のアンサンブルを成長させます。弱学習器として木の切り株を指定し、代理分岐も指定します。
X = [Acceleration Cylinders Displacement Horsepower Model_Year Weight]; t = templateTree(MaxNumSplits=1,Surrogate="on"); ens = fitrensemble(X,MPG,Method="LSBoost",Learners=t);
すべての予測子変数について予測子の重要度と関連性予測尺度を推定します。
[imp,ma] = predictorImportance(ens)
imp = 1×6
0.2141 0.3798 0.4369 0.6498 0.3728 0.5700
ma = 6×6
1.0000 0.0098 0.0102 0.0098 0.0033 0.0067
0 1.0000 0 0 0 0
0.0056 0.0084 1.0000 0.0078 0.0022 0.0084
0.3537 0.4769 0.5834 1.0000 0.1612 0.5827
0.0061 0.0070 0.0063 0.0064 1.0000 0.0056
0.0154 0.0296 0.0533 0.0447 0.0070 1.0000
imp
を予測子の重要度の推定の結果と比較すると、燃費に対する影響が最も大きいのは Horsepower
、2 番目に影響が大きいのは Weight
になっています。
入力引数
ens
— アンサンブル回帰モデル
RegressionEnsemble
モデル オブジェクト | CompactRegressionEnsemble
モデル オブジェクト
完全なアンサンブル回帰モデル。fitrensemble
で学習させた RegressionEnsemble
モデル オブジェクト、またはcompact
で作成した CompactRegressionEnsemble
モデル オブジェクトとして指定します。
出力引数
詳細
予測子の重要度
predictorImportance
は、アンサンブル ens
内の各木学習器について予測子の重要度を推定し、ens.TrainedWeight
を使用して計算された加重平均 imp
を返します。出力 imp
には、予測子ごとに 1 つの要素が含まれています。
predictorImportance
は、すべての予測子について分割によるノード リスクの変動を合計し、この合計を枝ノードの総数で除算することにより、木における予測子の重要度の尺度を計算します。ノード リスクの変動は、親ノードのリスクと 2 つの子のリスク合計との差です。たとえば、木で親ノード (例: ノード 1) が 2 つの子ノード (例: ノード 2 とノード 3) に分割される場合、predictorImportance
は、次によって分割予測子の重要度を高めます。
(R1 – R2 – R3)/Nbranch,
ここで、Ri はノード i のノード リスク、Nbranch は枝ノードの総数です。"ノード リスク" は、ノード確率によって重み付けされたノード誤差として定義されます。
Ri = PiEi,
ここで、Pi はノード i のノード確率、Ei はノード i の平均二乗誤差です。
予測子の重要度の推定は、学習に代理分岐を使用するかどうかによって変化します。
代理分岐を使用する場合、
predictorImportance
は、各枝ノードにおいて代理分岐を含むすべての分割上でノード リスクの変動を合計します。代理分岐を使用しない場合、この和は各枝ノードで検出される最適分割上で計算されます。予測子の重要度の推定は、代理分岐を使用する場合、予測子の順序には依存しませんが、代理分岐を使用しない場合には、予測子の順序に依存します。
関連性予測尺度
"関連性予測尺度" は、観測値を分割する決定規則間の類似度を示す値です。(木を成長させることによって求められる) 最適な分割に対して比較される、可能なすべての決定分岐の中で、最適な代理決定分岐は関連性予測尺度が最大になります。2 番目に最適な代理分岐は、関連性予測尺度が 2 番目に大きくなります。
xj と xk がそれぞれ予測子変数 j および k であり、j ≠ k であるとします。ノード t における最適な分割 xj < u と代理分岐 xk < v の間の関連性予測尺度は、次のようになります。
PL は、ノード t において xj < u となる観測値の比率です。添字 L は、ノード t の左の子を表します。
PR は、ノード t において xj ≥ u となる観測値の比率です。添字 R は、ノード t の右の子を表します。
は、ノード t において xj < u および xk < v となる観測値の比率です。
は、ノード t において xj ≥ u および xk ≥ v となる観測値の比率です。
xj または xk について欠損値がある観測値は、比率の計算に使用されません。
λjk は、(-∞,1] の値になります。λjk > 0 である場合、xk < v は xj < u の代理分岐として価値があります。
アルゴリズム
要素 ma(i,j)
は、予測子 j
が最適分割予測子となる予測子 i
の代理分岐を平均化した関連性予測尺度です。この平均は、予測子 i
の最適分割、および予測子 j
の代理分岐における関連性予測尺度の正の値を合計し、予測子 i
と j
間の関連性予測尺度が負になる分割も含めた、予測子 i
の最適分割の合計数で除算することによって計算されます。
拡張機能
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
この関数は、GPU 配列を完全にサポートします。詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2011a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)