这个例子向你展示了如何:
使用袋装回归树的集合来估计特征的重要性。
通过并行计算提高计算速度。
样本数据是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”,真正的);
使用叶子大小估计特征的重要性1
和5000
树并行。为函数计时,以便进行比较。
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秒。
结果表明,并行计算只需要串行计算时间的一小部分。请注意,运行时间可能因操作系统而异。
statset
|TreeBagger
|parpool
(并行计算工具箱)