主要内容

このページの翻訳は最新ではありませ。

ランダムフォレストの予测子の选択

この例では,回帰木のランダムフォレストを成长させるときに,データセットに适した分割予测子选択手法を选択する方法を示します。また,学习データに含める最も重要な予测子を决定する方法も示します。

データデータの読み込みとと前前

CARBIG.データセットを読み込みます。与えられた気筒数,エンジン排気量,馬力,重量,加速,モデル年および生産国に対して自動車の燃費を予測するモデルを考えます。气瓶Model_Yearおよび起源はカテゴリカル分数であるとします。

加载CARBIG.气缸=分类(缸);Model_Year =分类(Model_Year);起源=分类(cellstr(起源));X =表(汽缸、排量、马力、重量、加速度,Model_Year,起源);

予测子内のレベルの测定

标准购物车アルゴリズムには,一道な値(レベル)が少ない少ない子(カテゴリカルカテゴリカル数など)より,多数のレベルもつもつ子(连连続などもつもつ子をデータがするがあり。综合数码大胆异なるは,标准购物车ではなくは,标准购物车ではなくはははを

各予測子について,データ内のレベルの数を測定します。これを行う方法の1つとして,次のような無名関数を定義します。

  1. 分类

  2. 类别を使用してすべてののなカテゴリを决定,欠损値は无视する

  3. numel.をを用してカテゴリカテゴリの数码

次に,varfun.をを用してこの关键词数量に适适し。

countlevels = @(x)numel(类别(分类(x)));numlevels = varfun(countlevels,x,'输出格式''制服');

图酒吧(Numlevels)标题(“预测因素中的水平数量”)包含(预测变量的) ylabel ('级别') h = gca;h.XTickLabel = X.Properties.VariableNames (1: end-1);h.XTickLabelRotation = 45;H.TicklabelInterpreter =.'没有任何'

图中包含一个坐标轴。具有预测器中标题的轴数包含类型栏的对象。

连続连続数には,カテゴリカルカテゴリカル数より多くのレベルあります。レベル码は子によって大厦异なる,标准购物车を使使しランダムフォレストのの各ノードで予予の选択するでと割子度の推定が不正常になる可能性あり。このようなケースは,曲率検定または交互作用検定をますますます。'预测互联'を使し。详细详细,分割予測子選択手法の選択を参照してください。

回帰木のバギングアンサンブルに学習をさせる

バギングされた200本の回帰木のアンサンブルに学习をさせて,予测子の重要度の値を推定します。以下の名前と値のペアの引数を使用して,木学习器を定义します。

  • 'numvariamblestosample','全部'- すべての予测子参数がで의使されるするため,すべての予测子数目を各ノードで使し。

  • “PredictorSelection”、“interaction-curvature”——交互作用検定を使用して分割予測子を選択するよう指定します。

  • '代理','开'- データデータセットに欠损値が含まれているのでので含まれめるてためににし岐を使めるためにししし

t = templateTree ('numvariablestosample''全部'......'预测互联''互动曲率'“代理”'在');RNG(1);%的再现性mdl = fitrensemble(x,mpg,'方法'“包”'numlearnicalnicycle',200,......'学习者',t);

MdlRegressionBaggedEnsembleモデルです。

外袋予测を使使用して R. 2 のモデルを推定します。

yHat = oobPredict (Mdl);(R2 = corr Mdl.Y yHat) ^ 2
R2 = 0.8744.

Mdlは,平均の周辺で変ののの87%をを明します。

予测子の重要度の推定

木同士でout-of-bag観測値の順序を変更することにより,予測子の重要度の値を推定します。

impOOB = oobPermutedPredictorImportance (Mdl);

冒充は予測子の重要度の推定が格納されている1行7列のベクトルで,Mdl。PredictorNames〖图库“

予测子の重要度の推定を比较します。

图酒吧(Impoob)标题(“不偏不倚的预测因素重要性估计”)包含(预测变量的) ylabel ('重要性') h = gca;h.xticklabel = mdl.predictornames;h.XTickLabelRotation = 45;H.TicklabelInterpreter =.'没有任何'

图中包含一个坐标轴。具有标题无偏见的预测值重要性估计的轴包含类型栏的对象。

棒グラフ重要度の推定値ががきいほど重要重要なな子Model_Yearであり,次次に重要重要なの气瓶重量であるであることを示し示してい変Model_Yearおよび气瓶の异なるレベルはそれぞれ13个および5个ですが,幂数重量には300个以上のレベルがあります。

外袋観测観测値値およびそれら推定の顺序を変更して予测のの重要度の推定ししますししますますししますししししししし均二乘误差误差のゲインゲインをし二乘误差ののゲイン。 -

[Impgain,Predassociation] =预测测量值(MDL);图绘图(1:numel(mdl.predictornames),[impoob'ilmgain'])标题('预测重点估计比较')包含(预测变量的) ylabel ('重要性') h = gca;h.xticklabel = mdl.predictornames;h.XTickLabelRotation = 45;H.TicklabelInterpreter =.'没有任何';传奇('OOB允许''MSE改善') 网格

图中包含一个坐标轴。标题为Predictor Importance Estimation Comparison的坐标轴包含2个类型为line的对象。这些对象代表OOB排列,MSE改进。

impGainの値によると,変数移位马力および重量は同じように重要であるようです。

predAssociationはは子の关键词が格式されている7行列行です。行と列Mdl。PredictorNamesのの子に対応します。関連性予測尺度は,観测値を分类predAssociationのののペアにおけるできます强大大きいほどできペア关键词ほどますなりペア关键词ほどますなりの关键词。

图显示亮度图像(predAssociation)标题(“预测协会估计”)ColorBar H = GCA;h.xticklabel = mdl.predictornames;h.XTickLabelRotation = 45;H.TicklabelInterpreter =.'没有任何';h.yticklabel = mdl.predictornames;

图中包含一个坐标轴。具有标题预测器关联估计的轴包含类型图像的对象。

predassociation(1,2)
ans = 0.6871.

最大の关键词气瓶移位〖图库“

縮小した予測子セットの使用によるランダムフォレストの成長

ランダムフォレスト内の予测子子数量がと予测予测空间

最良の2つのつの子のみを使し,200本の回帰木がれてランダムフォレストを成。Templatetree.'numvariablestosample'fitrensembleはランダムフォレストアルゴリズムを使用します。

t = templateTree ('预测互联''互动曲率'“代理”'在'......'可重复',真的);随机预测器选择的再现性的%mdlreduceed = fitrensemble(x(:,{“Model_Year”'重量'}),MPG,'方法'“包”......'numlearnicalnicycle',200,'学习者',t);

缩小したモデルの R. 2 を计算します。

yHatReduced = oobPredict (MdlReduced);r2Reduced = corr (Mdl.Y yHatReduced) ^ 2
r2R2R2R2.8653

缩小したモデルの R. 2 は完全なモデルの R. 2 〖图库“

参考

|||||

关键词する