简介
在使用TreeBagger可能遇到随着数据量以及不同参数设置导致其效率低下的情况,这里将展示如何使用并行计算提升计算速度。
样本数据
样本数据是1985年汽车进口量的数据库,其中有205个样本,25个预测变量和1个因变量。前15个变量是数字变量,后10个变量是分类变量。
代码
clc
clear all
close all
% 加载样本数据,分配到因变量Y和自变量X中。
load imports-85;
Y = X(:,1);
X = X(:,2:end);
% 设置并行环境,使用双核
mypool = parpool(2)
% 设置选项以使用并行处理
paroptions = statset('UseParallel',true);
% 使用计时功能以进行比较
tic
b = TreeBagger(5000,X,Y,'Method','r','OOBVarImp','on', ...
'cat',16:25,'MinLeafSize',1,'Options',paroptions);
toc
tic
b = TreeBagger(5000,X,Y,'Method','r','OOBVarImp','on', ...
'cat',16:25,'MinLeafSize',1);
toc
效果
Starting parallel pool (parpool) using the 'local' profile ...
connected to 2 workers.
mypool =
Pool - 属性:
Connected: true
NumWorkers: 2
Cluster: local
AttachedFiles: {}
AutoAddClientPath: true
IdleTimeout: 30 minutes (30 minutes remaining)
SpmdEnabled: true
时间已过 27.320103 秒。
时间已过 35.943752 秒。