主要内容

使用并行处理进行回归TreeBagger工作流

这个例子告诉你如何:

  • 使用袋装回归树的集合来估计特征的重要性。

  • 通过并行计算提高计算速度。

样本数据是1985年进口汽车的数据库,有205个观察值、25个预测因子和1个响应,即保险风险评级或“符号化”。前15个变量是数字变量,后10个变量是分类变量。符号索引接受从-3到3的整数值。

加载样本数据并将其分离为预测器和响应数组。

负载进口- 85;Y = x (:,1);X = X(:,2:end);

设置并行环境以使用默认的工作人员数量。创建这个示例的计算机有六个内核。

我的泳池= parpool
使用“本地”配置文件启动并行池(parpool)…连接到并行池(number of workers: 6). mypool = ProcessPool with properties: Connected: true NumWorkers: 6 Cluster: local AttachedFiles: {} AutoAddClientPath: true IdleTimeout: 30 minutes(剩余30分钟)SpmdEnabled: true

将选项设置为使用并行处理。

Paroptions = statset(“UseParallel”,真正的);

利用叶片大小估计特征的重要性1而且5000树要平行。计算函数的时间以进行比较。

tic b = TreeBagger(5000,X,Y,“方法”“r”“OOBVarImp”“上”...“猫”16:25,“MinLeafSize”, 1“选项”, paroptions);toc
运行时间为9.873065秒。

串行执行相同的计算以进行时间比较。

tic b = TreeBagger(5000,X,Y,“方法”“r”“OOBVarImp”“上”...“猫”16:25,“MinLeafSize”1);toc
运行时间为28.092654秒。

结果表明,并行计算所花费的时间是串行计算的一小部分。注意,经过的时间可能因操作系统而异。

另请参阅

(并行计算工具箱)||

相关的话题