Skip to content

Commit b6869df

Browse files
committed
Merge pull request opencv#5127 from LorenaGdL:data.cpp-(ml-module)
2 parents 622301c + c545857 commit b6869df

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

modules/ml/src/data.cpp

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -636,9 +636,18 @@ class TrainDataImpl : public TrainData
636636
vtypes[ninputvars] = VAR_CATEGORICAL;
637637
}
638638

639-
Mat(nsamples, noutputvars, CV_32F, &allresponses[0]).copyTo(tempResponses);
640-
setData(tempSamples, ROW_SAMPLE, tempResponses, noArray(), noArray(),
641-
noArray(), Mat(vtypes).clone(), tempMissing);
639+
//If there are responses in the csv file, save them. If not, responses matrix will contain just zeros
640+
if (noutputvars != 0){
641+
Mat(nsamples, noutputvars, CV_32F, &allresponses[0]).copyTo(tempResponses);
642+
setData(tempSamples, ROW_SAMPLE, tempResponses, noArray(), noArray(),
643+
noArray(), Mat(vtypes).clone(), tempMissing);
644+
}
645+
else{
646+
Mat zero_mat(nsamples, 1, CV_32F, Scalar(0));
647+
zero_mat.copyTo(tempResponses);
648+
setData(tempSamples, ROW_SAMPLE, tempResponses, noArray(), noArray(),
649+
noArray(), noArray(), tempMissing);
650+
}
642651
bool ok = !samples.empty();
643652
if(ok)
644653
std::swap(tempNameMap, nameMap);

0 commit comments

Comments
 (0)