Update data.cpp

Update to allow loading data from a .csv file that only contains training samples values and not the associated responses. To allow this behavior, function must be called with parameters ResponsesStartIdx <= -2 and ResponsesEndIdx = 0
This commit is contained in:
Lorena García 2015-08-04 15:58:24 +02:00
parent da0c159557
commit 2cb47b4191

View File

@ -636,9 +636,18 @@ public:
vtypes[ninputvars] = VAR_CATEGORICAL;
}
Mat(nsamples, noutputvars, CV_32F, &allresponses[0]).copyTo(tempResponses);
setData(tempSamples, ROW_SAMPLE, tempResponses, noArray(), noArray(),
noArray(), Mat(vtypes).clone(), tempMissing);
//If there are responses in the csv file, save them. If not, responses matrix will contain just zeros
if (noutputvars != 0){
Mat(nsamples, noutputvars, CV_32F, &allresponses[0]).copyTo(tempResponses);
setData(tempSamples, ROW_SAMPLE, tempResponses, noArray(), noArray(),
noArray(), Mat(vtypes).clone(), tempMissing);
}
else{
Mat zero_mat(nsamples, 1, CV_32F, Scalar(0));
zero_mat.copyTo(tempResponses);
setData(tempSamples, ROW_SAMPLE, tempResponses, noArray(), noArray(),
noArray(), noArray(), tempMissing);
}
bool ok = !samples.empty();
if(ok)
std::swap(tempNameMap, nameMap);