主要内容

oobPermutedPredictorImportance

分类树随机森林的预测值重要性估计

描述

例子

接口信息处理器=oobPermited预测重要性(Mdl返回的向量out- bag,通过排列估计预测器的重要性使用分类树的随机森林MdlMdl必须是一个分类BaggedAssemble模型对象。

例子

接口信息处理器=oobPermited预测重要性(Mdl名称,值使用一个或多个指定的附加选项名称,值配对参数。例如,您可以使用并行计算加快计算速度,或指示在预测值重要性估计中使用哪些树。

输入参数

全部展开

分类树的随机森林,指定为分类BaggedAssemble由创建的模型对象菲特森布尔

名称-值参数

指定可选的逗号分隔的对名称,值论据。名称参数名和价值为对应值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数名称1,值1,…,名称,值

用于预测重要性估计的学习者指数,指定为逗号分隔对,包括“学习者”和一个正整数的数值向量。值必须最多为未训练的.当oobPermutedPredictorImportance估计预测器的重要性,它包括学习者Mdl。Trained(学习者只是,在哪里学习者的价值“学习者”

例子:“学习者”[1:2:Mdl.NumTrained]

并行计算选项,指定为逗号分隔对,由“选项”和返回的结构数组斯塔塞特“选项”需要一个并行计算工具箱™ 许可证

oobPermutedPredictorImportance使用“UseParallel”字段。statset('UseParallel',true)调用一个工人池。

例子:“选项”,statset('UseParallel',true)

输出参数

全部展开

现成的,通过排列的预测重要性估计,作为1-by返回-p数值向量。p是训练数据中预测变量的数量(尺寸(Mdl.X,2)).小鬼(j预测器的重要性是什么Mdl。PredictorNames (j

例子

全部展开

加载census1994考虑一个人的年龄、工人阶级、受教育程度、军事地位、种族、性别、资本收益和损失以及每周工作时间的数量来预测一个人的工资类别。

负载census1994X=成人数据(:{“年龄”“工人阶级”“education_num”“marital_status”“种族”...“性”“capital_gain”“capital_loss”“每周小时数”“工资”});

您可以使用整个数据集训练50棵分类树的随机森林。

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

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

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

Mdl是一个分类BaggedAssemble模型

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

小鬼= oobPermutedPredictorImportance (Mdl);图;酒吧(imp);标题(“现成的置换预测值重要性估计”);伊莱贝尔(“估计”);包含(“预测因素”);甘氨胆酸h =;h.XTickLabel = Mdl.PredictorNames;h.XTickLabelRotation = 45;h.TickLabelInterpreter =“没有”

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

接口信息处理器是预测器重要性估计的1 × 9向量。较大的值表示对预测有较大影响的预测器。在这种情况下,婚姻状况是最重要的预测因子,其次是capital_gain

加载census1994考虑一个人的年龄、工人阶级、受教育程度、军事地位、种族、性别、资本收益和损失以及每周工作时间的数量来预测一个人的工资类别。

负载census1994X=成人数据(:{“年龄”“工人阶级”“education_num”“marital_status”“种族”...“性”“capital_gain”“capital_loss”“每周小时数”“工资”});

使用显示类别变量中表示的类别数总结

摘要(十)
变量:年龄:32561×1双倍值:最小17中位数37最大90工人阶级:32561×1分类值:联邦政府960地方政府2093从未工作过7私人22696自我emp公司1116自我emp不公司2541州政府1298无薪14数字1836教育数量:32561×1双倍值:最小1中位数10最大16婚姻状况:32561×1分类价值观:离婚4443已婚AF配偶23已婚civ配偶14976已婚配偶缺席418未婚10683分居1025丧偶993种族:32561×1分类价值观:美国印第安爱斯基摩人311亚裔太平洋岛民1039黑人3124其他271白人27816性别:32561×1分类价值观:女性10771男性21790资本收益:32561×1双倍价值观s:最低0中位数0最高99999资本损失:32561×1双倍值:最低0中位数0最高4356小时/周:32561×1双倍值:最低1中位数40最高99工资:32561×1分类值:<=50K 24720>50K 7841

由于与连续变量中的级别相比,分类变量中表示的类别较少,因此标准CART、预测器拆分算法更倾向于拆分连续预测器而非分类变量。

使用整个数据集训练50棵分类树的随机森林。若要生长无偏树,请指定曲率测试用于拆分预测器。由于数据中缺少值,请指定代理项拆分的用法。要复制随机预测器选择,请使用设置随机数生成器的种子rng并指定“可复制”,没错

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

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

选项=statset(“UseParallel”,true);imp=oobPermitedPredictor重要性(Mdl,“选项”,选项);
使用“local”配置文件启动并行池(parpool)…连接到并行池(工作人员数量:6)。

使用条形图比较估计值。

图形栏(imp)标题(“现成的置换预测值重要性估计”)伊拉贝尔(“估计”)xlabel(“预测因素”)h=gca;h、 XTickLabel=Mdl.predictor名称;h、 XTickLabelRotation=45;h、 滴答计=“没有”

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

更多关于

全部展开

提示

在使用菲特森布尔:

  • 标准CART倾向于选择包含许多不同值(如连续变量)的分离预测因子,而不是包含很少不同值(如分类变量)的分离预测因子[3]. 如果预测器数据集是异构的,或者如果预测变量具有比其他变量相对较少的不同值,那么考虑指定曲率或交互测试。

  • 使用标准CART生长的树木对预测变量相互作用不敏感。此外,与交互测试的应用相比,在存在许多无关的预测因子时,这种树不太可能识别出重要的变量。因此,为了解释预测变量之间的交互作用,并在存在许多不相关变量的情况下识别重要变量,指定交互作用检验[2]

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

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

工具书类

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

[2] 具有无偏变量选择和交互检测的回归树中国统计局, 2002年第12卷,第361-386页。

Loh w.y y and Y.S. Shih分类树的分裂选择方法中国统计局,第7卷,1997年,第815-840页。

扩展能力

介绍了R2016b