Matlab中的模式训练是否会自动拆分数据集?

时间:2019-09-07 21:24:49

标签: matlab machine-learning neural-network

我正在培训10个网络以组成一个网络委员会。对整个数据集使用模式集,随着每个新的经过训练的网络,用于测试,训练和验证的数据都将发生变化。为了解决这个问题,我“手动”分离了数据集(用于训练的占80%,用于测试的占20%)。 我的问题是当我打电话给train(net,x1,t1)时会发生什么。训练是否仍将这个集合(我已经为训练而分开的x1)划分为训练,验证和测试数据?

简而言之:使用此代码时,我将数据集手动划分为(x1 =训练和x2 =测试),但是在调用patternet时,我再次将x1划分为x1.test,x1.training和x1.validation?

x = imt;
t = target;

Q = size(x, 2);
Q1 = floor(Q * 0.85);
Q2 = Q - Q1;
ind = randperm(Q);
ind1 = ind(1:Q1);
ind2 = ind(Q1 + (1:Q2));
x1 = x(:, ind1);
t1 = t(:, ind1);
x2 = x(:, ind2);
t2 = t(:, ind2);

net = patternnet(45);
numNN = 10;
nets = cell(1, numNN);
for i = 1:numNN
  fprintf('Training %d/%d\n', i, numNN)
  nets{i} = train(net, x1, t1);
end

0 个答案:

没有答案