主要内容

引导聚合(装袋)回归树的使用TreeBagger

统计和机器学习工具箱™提供了两个对象,支持引导回归树的聚合(包装):金宝appTreeBagger由使用TreeBaggerRegressionBaggedEnsemble由使用fitrensemble。看到比较TreeBagger和袋装的集合体之间的差异TreeBaggerRegressionBaggedEnsemble

这个例子显示了回归的工作流中使用的特性TreeBagger只有。

使用一个数据库1985汽车进口205观察,25预测,和1响应,保险风险评级,或“象征”。的first 15 variables are numeric and the last 10 are categorical. The symboling index takes integer values from -3 to 3.

加载数据集分割成预测和响应数组。

负载进口- 85Y = X (: 1);X = X(:, 2:结束);isCategorical =[0(15日1);(大小(X, 2) -15年,1)];%类别变量国旗

因为装袋使用随机数据图纸,其确切的结果依赖于初始随机种子。复制的结果在这个例子中,使用随机流设置。

rng (1945“旋风”)

寻找最优叶大小

回归,总的原则是一组叶大小5和选择的三分之一将随机输入特性决定。在以下步骤中,验证最优叶大小通过比较回归得到的均方误差为各种叶大小。oobError计算MSE和种植树木的数量。必须设置OOBPred“上”获得out-of-bag预测。

叶= [5 10 20 50 100];坳=“rbcmy”;图保存i = 1:长度(叶)b = TreeBagger (50, X, Y,“方法”,“回归”,“OOBPrediction”,“上”,“CategoricalPredictors”,找到(isCategorical = = 1),“MinLeafSize”、叶(i));情节(oobError (b),坳(我))结束包含(种植树木的数量)ylabel (的均方误差)({传奇“5”“十”“20”“50”“100”},“位置”,“东北”)举行

图包含一个坐标轴对象。坐标轴对象包含5线类型的对象。这些对象代表5、10、20、50、100。

红色曲线(叶大小5)收益率最低的均方误差值。

评估功能的重要性

在实际应用程序中,您通常乐团与数以百计的树木生长。例如,前面的代码块使用50树快处理。现在您已经估计最优叶大小、种植100棵树的大合奏和用它来估计特征的重要性。

b = TreeBagger (100 X, Y,“方法”,“回归”,“OOBPredictorImportance”,“上”,“CategoricalPredictors”,找到(isCategorical = = 1),“MinLeafSize”5);

再次检查误差曲线,以确保没有错误发生在训练。

图绘制(oobError (b))包含(种植树木的数量)ylabel (“Out-of-Bag均方误差”)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

预测能力应该更依赖比不重要重要的功能特性。你可以用这个概念来衡量特征的重要性。

对于每一个功能,交换这一特性的值在每一个数据集内的观察和测量多少排列后的MSE变得更糟糕。你可以重复这个为每个特性。

情节MSE的增加由于交换out-of-bag观察在每个输入变量。的OOBPermutedPredictorDeltaError数组存储MSE的增加平均在合奏中所有树木和除以标准差接管了树木,为每一个变量。这个值越大,越重要的变量。强加一个任意截止为0.7,您可以选择四个最重要的特性。

图酒吧(b.OOBPermutedPredictorDeltaError)包含(的数字特征)ylabel (“Out-of-Bag特性重要性”)

图包含一个坐标轴对象。坐标轴对象包含一个对象类型的酒吧。

idxvar =找到(b.OOBPermutedPredictorDeltaError > 0.7)
idxvar =1×41 2 16日19
idxCategorical =找到(isCategorical (idxvar) = = 1);

OOBIndices的属性TreeBagger跟踪观测所包的什么树。使用这个属性,您可以监控部分的训练数据的观察袋树。曲线开始于大约2/3,分数独特的观察选择由一个引导程序副本,并在大约10棵树下降到0。

b.NTrees finbag = 0 (1);t = 1: b。NTrees finbag (t) =(所有的总和(~ b.OOBIndices (:, 1: t), 2));结束finbag = finbag /大小(X, 1);图绘制(finbag)包含(种植树木的数量)ylabel (“分数在袋子的观察”)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

种植树木在减少的特性

使用四个最强大的特性,确定是否有可能获得一个类似的预测能力。首先,这些特性上种植100棵树。前两个选定的四个特征是数字和最后两个范畴。

b5v = TreeBagger (100 X (:, idxvar), Y,“方法”,“回归”,“OOBPredictorImportance”,“上”,“CategoricalPredictors”idxCategorical,“MinLeafSize”5);图绘制(oobError (b5v))包含(种植树木的数量)ylabel (“Out-of-Bag均方误差”)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

图酒吧(b5v.OOBPermutedPredictorDeltaError)包含(“功能指数”)ylabel (“Out-of-Bag特性重要性”)

图包含一个坐标轴对象。坐标轴对象包含一个对象类型的酒吧。

这四个最强大的特性给相同的MSE全套,和减少的合奏训练集彼此相似的这些特性。如果删除功能1和2的减少,那么算法的预测能力可能下降不明显。

发现异常值

找到训练数据中的异常值,计算距离矩阵使用fillProximities

b5v = fillProximities (b5v);

正常化的方法测量意味着离群值减去整个样本。然后需要这种差异的大小,划分结果的平均绝对偏差为整个样本。

图直方图(b5v.OutlierMeasure)包含(离群值测量的)ylabel (“数量的观察”)

图包含一个坐标轴对象。坐标轴对象包含一个直方图类型的对象。

发现集群数据

运用多维标度矩阵计算的接近性,您可以检查输入数据的结构,寻找可能的观测。的mdsProx方法返回了坐标,计算距离矩阵的特征值。如果你运行它颜色name-value-pair参数,那么这个方法创建了一个散点图的两个坐标。

图[~ e] = mdsProx (b5v,“颜色”,“K”);包含(“第一比例协调”)ylabel (“第二个比例协调”)

图包含一个坐标轴对象。坐标轴对象包含一个散射类型的对象。

评估的相对重要性比例轴通过绘制前20特征值。

图酒吧(e(1:20))包含(“按比例缩小的协调指数”)ylabel (“特征值”)

图包含一个坐标轴对象。坐标轴对象包含一个对象类型的酒吧。

节约整体配置,以供将来使用

使用训练有素的整体预测响应对看不见的数据,存储整体磁盘和检索。如果你不想计算预测out-of-bag数据或以任何其他方式重用训练数据,不需要存储整体对象本身。储蓄的紧凑版本合奏就足够了。提取从整体紧凑的对象。

c =紧凑(b5v)
c = CompactTreeBagger合奏与100袋装决策树:方法:回归NumPredictors: 4属性、方法

您可以保存结果CompactTreeBagger模型在*.mat文件。

另请参阅

|||||

相关的话题