主要内容

oobPermutedPredictorImportance

分類木のランダムフォレストに対するout-of-bag予測子の並べ替えによる予測子の重要度の推定

説明

小鬼= oobPermutedPredictorImportance (Mdlは,分類木のランダムフォレストMdlを使用して,並べ替えによるout-of-bag予測子の重要度の推定をベクトルで返します。MdlClassificationBaggedEnsembleモデルオブジェクトでなければなりません。

小鬼= oobPermutedPredictorImportance (Mdl名称,值は,1以上の名称,值引数のペアによって指定された追加オプションを使用します。たとえば,並列計算を使用して計算を高速化したり,予測子の重要度の推定に使用する木を指定できます。

入力引数

すべて展開する

分類木のランダムフォレスト。fitcensembleによって作成されたClassificationBaggedEnsembleモデルオブジェクトとして指定します。

名前と値の引数

オプションの引数のペアをName1 = Value1,…,以=家として指定します。ここで的名字は引数名,价值は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

R2021aより前では,名前と値をそれぞれコンマを使って区切り,的名字を引用符で囲みます。

予測子の重要度の推定に使用する学習器の@ @ンデックス。“学习者”と正の整数の数値ベクトルから構成されるコンマ区切りのペアとして指定します。値はMdl。NumTrained以下でなければなりません。oobPermutedPredictorImportanceは,予測子の重要度を推定するときに,Mdl。训练(学习者の学習器のみを含めます。学习者“学习者”の値です。

例:“学习者”,[1:2:Mdl。NumTrained]

並列計算オプション。“选项”statsetによって返される構造体配列から構成されるコンマ区切りのペアとして指定します。“选项”を指定するには,并行计算工具箱™のラ▪▪センスが必要です。

oobPermutedPredictorImportance“UseParallel”フィ,ルドのみを使用します。statset (UseParallel,真的)はワ,カ,のプ,ルを呼び出します。

例:“选项”,statset (UseParallel,真的)

出力引数

すべて展開する

並べ替えによるout-of-bag予測子の重要度の推定。1行p列の数値ベクトルとして返されます。Pは学習デタ内の予測子変数の個数(大小(Mdl.X, 2))です。Imp (jは予測子Mdl。PredictorNames (jの重要度です。

すべて展開する

census1994デ,タセットを読み込みます。年齢,労働階級,教育レベル,婚姻区分,人種,性別,資本利得および損失,および1週間の勤務時間が与えられた個人の給与カテゴリを予測するモデルを考えます。

负载census1994X = adultdata(:,{“年龄”“workClass”“education_num”“marital_status”“种族”...“性”“capital_gain”“capital_loss”“hours_per_week”“工资”});

デ,タセット全体を使用して,50本の分類木のランダムフォレストに学習をさせることができます。

Mdl = fitcensemble(X,“工资”“方法”“包”“NumLearningCycles”, 50);

“方法”“包”である場合,fitcensembleは既定の木テンプレ,トオブジェクトtemplateTree ()を弱学習器として使用します。この例では,再現性を得るため,木テンプレ,トオブジェクトを作成するときに“重现”,真的を指定し,このオブジェクトを弱学習器として使用します。

rng (“默认”%用于再现性t = templateTree(“复制”,真正的);%用于随机预测器选择的重现性Mdl = fitcensemble(X,“工资”“方法”“包”“NumLearningCycles”, 50岁,“学习者”t);

MdlClassificationBaggedEnsembleモデルです。

out- out- bag観測値を並べ替えることにより,予測子の重要度の尺度を推定します。棒グラフを使用して推定を比較します。

imp = oobPermutedPredictorImportance(Mdl);图;酒吧(imp);标题(“out - out - bag perordered Predictor important估计值”);ylabel (“估计”);包含(“预测”);H = gca;h.XTickLabel = mld . predictornames;h.XTickLabelRotation = 45;h.TickLabelInterpreter =“没有”;

图中包含一个轴对象。标题为out - out - bag permutpredictor Importance Estimates的axes对象包含一个类型为bar的对象。

小鬼は,予測子の重要度の推定が含まれている1行9列のベクトルです。大きい値は,予測子が予測に与える影響が大きいことを示します。このケ,スでは,最も重要な予測子はmarital_statusであり,次に重要なのはcapital_gainです。

census1994デ,タセットを読み込みます。年齢,労働階級,教育レベル,婚姻区分,人種,性別,資本利得および損失,および1週間の勤務時間が与えられた個人の給与カテゴリを予測するモデルを考えます。

负载census1994X = adultdata(:,{“年龄”“workClass”“education_num”“marital_status”“种族”...“性”“capital_gain”“capital_loss”“hours_per_week”“工资”});

总结を使用して,カテゴリカル変数で表現されるカテゴリの個数を表示します。

总结(X)
变量:年龄:32561×1 double值:Min 17中位数37最大90工人阶级:32561×1分类值:联邦政府960 Local-gov 2093从未工作7私人22696 Self-emp-inc 1116 Self-emp-not-inc 2541 State-gov 1298 no -pay 14 NumMissing 1836教育_num: 32561×1 double值:Min 1中位数10 Max 16 marital_status: 32561×1分类值:离婚4443已婚- afc -spouse 23已婚- civa -spouse 14976已婚-配偶缺席418未婚10683分居1025丧偶993种族:32561×1 categorical值:美国-印度-爱斯基摩人311亚洲-太平洋岛民1039黑人3124其他271白人27816性别:32561×1分类值:女性10771男性21790 capital_gain: 32561×1 double值:Min 0中位数0 Max 99999 capital_loss: 32561×1 double值:Min 0中位数0 Max 4356 hours_per_week: 32561×1 double值:Min 1中位数40 Max 99工资:32561×1分类值:<=50K 24720 >50K 7841

カテゴリカル変数で表現されるカテゴリの数は連続変数のレベル数と比較するとわずかなので,予測子分割アルゴリズムの標準购物车ではカテゴリカル変数よりも連続予測子が分割されます。

デ,タセット全体を使用して,50本の分類木のランダムフォレストに学習をさせます。偏りの無い木を成長させるため,予測子の分割に曲率検定を使用するよう指定します。デ,タには欠損値が含まれているので,代理分岐を使用するよう指定します。無作為な予測子の選択を再現するため,rngを使用して乱数発生器のシ,ドを設定し,“重现”,真的を指定します。

rng (“默认”%用于再现性t = templateTree(“PredictorSelection”“弯曲”“代孕”“上”...“复制”,真正的);%用于随机预测器选择的再现性Mdl = fitcensemble(X,“工资”“方法”“包”“NumLearningCycles”, 50岁,...“学习者”t);

out- out- bag観測値を並べ替えることにより,予測子の重要度の尺度を推定します。並列計算を実行します。

选项= statset(“UseParallel”,真正的);imp = oobPermutedPredictorImportance(Mdl,“选项”、选择);
使用“本地”配置文件启动并行池(parpool)…连接到并行池(工人数:6)。

棒グラフを使用して推定を比較します。

图栏(imp)标题(“out - out - bag perordered Predictor important估计值”) ylabel (“估计”)包含(“预测”) h = gca;h.XTickLabel = mld . predictornames;h.XTickLabelRotation = 45;h.TickLabelInterpreter =“没有”;

このケ,スでは,最も重要な予測子はcapital_gainであり,次に重要なのはmartial_statusです。これらの結果を予測子の重要度の推定の結果と比較します。

詳細

すべて展開する

ヒント

fitcensembleの使用によりランダムフォレストを成長させる場合,

  • 標準购物车アルゴリズムには,相違する値が少ない分割予測子(カテゴリカル変数など)よりも,相違する値が多い分割予測子(連続変数など)を選択する傾向があります[3]。予測子データセットが異種混合である場合や,一部の予測子が相違する値を他の変数よりも相対的に少なく含んでいる場合は,曲率検定または交互作用検定の指定を検討してください。

  • 標準购物车を使用して成長させた木は,予測子変数の交互作用の影響を受けません。また,多くの無関係な予測子が存在する状況では,このような木によって重要な変数が特定される可能性は,交互作用検定を適用した場合より低くなります。このため,予測子の交互作用を考慮し,重要度変数の特定を多くの無関係な変数が存在する状況で行うには,交互作用検定を指定します[2]

  • 多数の予測子が学習データに含まれている場合に予測子の重要度を分析するには,アンサンブルの木学習器について関数templateTree“NumVariablesToSample”として“所有”を指定します。このようにしないと,重要度が過小評価されて一部の予測子が選択されない可能性があります。

詳細にいては,templateTreeおよび分割予測子選択手法の選択を参照してください。

参考文献

布莱曼,L.弗里德曼,R.奥尔申和C.斯通。分类和回归树。佛罗里达州博卡拉顿:CRC出版社,1984年。

[2] Loh, W.Y.,“无偏变量选择和交互检测的回归树”。中国统计,Vol. 12, 2002, pp. 361-386。

[3]罗永安、施永信。分类树的分割选择方法中国统计,Vol. 7, 1997, pp. 815-840。

拡張機能

バ,ジョン履歴

R2016bで導入