主要内容

OobpermutedPredictorimportance.

回归树随机林的预测值重要性估计

描述

例子

偶尔= OobperMutedPredictorimportance(MDL.返回的向量禁止的禁止,预测值估算使用回归树的随机森林MDL.MDL.必须是A.回归释迦缩短模型对象。

例子

偶尔= OobperMutedPredictorimportance(MDL.名称,价值使用一个或多个指定的附加选项名称,价值配对参数。例如,您可以使用并行计算加快计算速度,或指示在预测器重要性估计中使用哪些树。

输入参数

全部展开

回归树的随机林,指定为回归释迦缩短由创建的模型对象fitrensemble.

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是对应的值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

用于预测重要性估计的学习者指数,指定为逗号分隔对,包括'学习者'和一个正整数的数值向量。值必须最多为mdl.numtromed.。什么时候OobpermutedPredictorimportance.估计预测的重要性,它包括学习者mdl.tromed(学习者只是,在哪里学习者是值的价值'学习者'

例子:'学习者',[1:2:mdl.numtromed]

并行计算选项,指定为逗号分隔的对组成“选项”和返回的结构阵列实例化“选项”需要一个并行计算工具箱™ 许可证

OobpermutedPredictorimportance.使用'使用指平行'仅限字段。statset('deverpecallell',true)调用一个工人池。

例子:'选项',statset('deverypallellel',true)

输出参数

全部展开

禁止的禁止,预测值估算,作为1-by返回-P.数字矢量。P.是训练数据中预测变量的数量(尺寸(Mdl.X,2))。小鬼(j预测器的重要性是什么mdl.predictornames(j

例子

全部展开

加载卡斯莫尔数据集。考虑一种模型,该模型预测汽车的平均燃料经济性,仪式,气缸数量,发动机位移,马力,制造商,模型年和重量。考虑圆筒制造, 和model_year.作为分类变量。

加载卡斯莫尔汽缸=分类(圆柱);MFG =分类(CellStr(MFG));model_year =分类(model_year);X =表(加速,圆柱,位移,马力,MFG,...model_year,重量,mpg);

您可以使用整个数据集训练500棵回归树的随机林。

mdl = fitrensemble(x,'mpg'“方法”'包'“NumLearningCycles”,500);

fitrensemble.使用默认模板树对象模板树()作为一个弱的学习者“方法”'包'. 在本例中,对于再现性,指定“可复制”,没错创建树模板对象,然后将该对象用作弱学习器时。

RNG('默认'重复性的%t = templatetree(“可复制”,对);随机预测测量选择的再生率为的%mdl = fitrensemble(x,'mpg'“方法”'包'“NumLearningCycles”,500,'学习者',t);

MDL.是一个回归释迦缩短模型

通过排列现成的观测值来估计预测值的重要性度量。使用条形图比较估计值。

Imp = OobperMutedPredictorimportance(MDL);数字;酒吧(IMP);标题(“现成的置换预测值重要性估计”); 伊拉贝尔('估计');Xlabel(“预测因素”);H = GCA;h.xticklabel = mdl.predictornames;H.xticklabelrotation = 45;H.TicklabelInterpreter =.'没有任何';

图中包含一个轴。标题为Out-of-Bag排列预测器重要性估计的轴包含一个bar类型的对象。

偶尔是一个1比7的预测重要性估计矢量。更大的值表示对预测产生更大影响的预测因子。在这种情况下,,重量是最重要的预测因子,其次是model_year.

加载卡斯莫尔数据集。考虑一种模型,该模型预测汽车的平均燃料经济性,仪式,气缸数量,发动机位移,马力,制造商,模型年和重量。考虑圆筒制造, 和model_year.作为分类变量。

加载卡斯莫尔汽缸=分类(圆柱);MFG =分类(CellStr(MFG));model_year =分类(model_year);X =表(加速,圆柱,位移,马力,MFG,...model_year,重量,mpg);

显示分类变量中表示的类别数。

num cinders = numel(类别(圆柱体))
numcylinders = 3
nummfg = numel(类别(MFG))
nummfg = 28.
numModelYear=numel(类别(车型年))
nummodelyear = 3

因为只有三个类别圆筒model_year.,标准推车,预测算法更喜欢在这两个变量上分割连续的预测器。

使用整个数据集培训500个回归树的随机森林。为了种植无偏的树木,请指定用于分裂预测器的曲率测试的使用。由于数据中存在缺少值,因此指定代理分割的使用。要重现随机预测器选择,请使用随机数发生器的种子RNG.并指定“可复制”,没错

RNG('默认');重复性的%t = templatetree('预测圈''曲率'“代理”'在'...“可复制”,对);%随机预测选择的再现性mdl = fitrensemble(x,'mpg'“方法”'包'“NumLearningCycles”,500,...'学习者',t);

通过排列现成的观测值来估计预测值的重要性度量。并行执行计算。

选项= statset('使用指平行',对);imp=oobPermitedPredictor重要性(Mdl,“选项”,选项);
使用“本地”配置文件启动并行池(Parpool)连接到并行池(工人数:6)。

使用条形图比较估计值。

数字;酒吧(IMP);标题(“现成的置换预测值重要性估计”); 伊拉贝尔('估计');Xlabel(“预测因素”);H = GCA;h.xticklabel = mdl.predictornames;H.xticklabelrotation = 45;H.TicklabelInterpreter =.'没有任何';

在这种情况下,,model_year.是最重要的预测因子,其次是圆筒. 将这些结果与中的结果进行比较估计预测因子的重要性

更多关于

全部展开

提示

在使用fitrensemble.

  • 标准推车倾向于选择包含许多不同值的分割预测器,例如连续变量,在包含几个不同值的那些中,例如分类变量[3]。如果预测器数据集是异构的,或者如果存在与其他变量相对较少的不同值的预测器,则考虑指定曲率或交互测试。

  • 使用标准推车生长的树木对预测变量相互作用不敏感。而且,这种树木在许多不相关的预测因子的存在中的可能性不太可能识别重要的变量,而不是应用相互作用测试。因此,要考虑预测器相互作用并在存在许多无关变量的情况下识别重要变量,请指定交互测试[2]

  • 如果训练数据包含多个预测值,并且要分析预测值的重要性,请指定“NumVariablesToSample”模板树充当'全部'为合奏的树学习者。否则,软件可能不会选择一些预测因子,低估了它们的重要性。

有关详细信息,请参阅模板树选择分割预测器选择技术

参考

[1] 布莱曼,L.,J。弗里德曼,R。奥尔申和C。石分类和回归树。Boca Raton,FL:CRC Press,1984。

[2] 具有无偏变量选择和交互检测的回归树STATISTICA SINICA.,卷。12,2002,第361-386页。

[3] LOH,W.Y.和Y.S.Shih。“分类树的分离选择方法。”STATISTICA SINICA.,第7卷,1997年,第815-840页。

扩展能力

介绍在R2016B.