使用并行处理进行回归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秒。
结果表明,并行计算所花费的时间是串行计算的一小部分。注意,经过的时间可能因操作系统而异。
另请参阅
parpool
(并行计算工具箱)|statset
|TreeBagger