主要内容

火车分类合奏并联

此示例显示了如何并行训练分类集合。该模型有十个红色和十个绿色基础位置,红色和绿色种群正态分布和集中在基地位置。目的是根据其位置对要点进行分类。这些分类是模棱两可的,因为某些基础位置在另一种颜色的位置附近。

创建和绘制每种颜色的十个基础位置。

RNG默认%可再现性grnpop = mvnrnd([1,0],眼睛(2),10);redpop = mvnrnd([0,1],眼睛(2),10);绘图(grnpop(:,1),grnpop(:,2),,'去') 抓住绘图(redpop(:,1),redpop(:,2),,'ro') 抓住离开

创建以随机基点为中心的每个颜色的40个点。

n = 40000;redpts =零(n,2); grnpts = redpts;为了i = 1:n grnpts(i,:) = mvnrnd(grnpop(randi(10),:),eye(2)*0.02);redpts(i,:) = mvnrnd(redpop(randi(10),:),eye(2)*0.02);结尾图图(grnpts(:,1),grnpts(:,2),,'去') 抓住绘图(Redpts(:1),Redpts(:,2),,'ro') 抓住离开

cdata = [grnpts; redpts];grp =一个(2*n,1);%绿色标签1,红色标签-1grp(n+1:2*n)= -1;

将包装的分类合奏放入数据。要与并行训练进行比较,请在串行中安装合奏并返回训练时间。

tic mdl = fitCensemble(cdata,grp,'方法',,,,'包');stime = toc
Stime = 9.0782

评估拟合模型的丢球损失。

Myerr = Oobloss(MDL)
Myerr = 0.0572

使用可重复的树模板和并行的子流并行创建包装的分类模型。您可以在本地计算机上的群集或平行的线程工人池上创建一个并行池。要选择适当的平行环境,请参见在基于线程和基于过程的环境之间进行选择

Parpool
使用“本地”配置文件开始并行池(PARPOOL)...连接到并行池(工人数量:6)。
ans = processPool with属性:连接:true Numworkers:6群集:local actactedfiles:{} autoAddclientPath:true Idletimeout:30分钟(剩余30分钟)SPMDENBABLE:TRUE
s = randstream('MRG32K3A');选项= statset(“ useparallel”,真的,“ useubstreams”,真的,“流”,S);t = Templatetree(“可重现”,真的);TIC MDL2 = FITCENSEMEM(CDATA,GRP,'方法',,,,'包',,,,“学习者”,t,'选项',选项);ptime = toc
ptime = 6.2527

在这个六核系统上,并行训练过程更快。

加速=静止/ptime
加速= 1.4519

评估该模型的脱落损失。

myerr2 = oobloss(MDL2)
myerr2 = 0.0577

错误率与第一个模型的速率相似。

为了演示模型的可重复性,请重置随机数流并再次拟合模型。

重置(S);TIC MDL2 = FITCENSEMEM(CDATA,GRP,'方法',,,,'包',,,,“学习者”,t,'选项',选项);TOC
经过的时间为3.953355秒。

检查损失是否与以前的损失相同。

myerr2 = oobloss(MDL2)
myerr2 = 0.0577

也可以看看

|

相关话题