主要内容

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

这个例子向你展示了如何:

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

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

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

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

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

设置并行环境以使用两个内核。

mypool = parpool (2)
使用“local”配置文件启动并行池(parpool)…connection to the parallel pool (number of workers: 2). mypool = LocalProcessesPool with properties: Connected: true NumWorkers: 2 Cluster: local attachdfiles: {} AutoAddClientPath: true IdleTimeout: 30 minutes (30 minutes remaining) SpmdEnabled: true

设置选项以使用并行处理。

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

使用叶子大小估计特征的重要性15000树并行。为函数计时,以便进行比较。

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

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

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

结果表明,并行计算只需要串行计算时间的一小部分。请注意,运行时间可能因操作系统而异。

另请参阅

||(并行计算工具箱)

相关的话题