covartech/PRT

Cross-validation in Matlab R2016b

cratto opened this issue · 1 comments

Seems odd that this is throwing an error in the latest version of Matlab. I verified that it runs without issue in R2015a.

ds = prtDataGenUnimodal;
fld = prtClassFld;
dsOut = fld.kfolds(ds);

Input arguments to function include colon operator. To input the colon character, use ':' instead.

Error in prtClass/maryOutput2binaryOutput (line 412)
OutputDataSet = OutputDataSet.setObservations(OutputDataSet.getObservations(:,end));

Error in prtClass/postRunProcessing (line 360)
dsOut = maryOutput2binaryOutput(self,dsOut);

Error in prtAction/run (line 254)
dsOut = postRunProcessing(self, dsIn, dsOut);

Error in prtAction/crossValidate (line 369)
outputDataSetCell{uInd} = trainedAction.run(testDs);

Error in prtAction/kfolds (line 553)
[outputs{:}] = self.crossValidate(ds,keys);

Hey,

I think you need to pull the latest version. In a recent version of MATLAB , around 2015b I think, they disallowed the use of colons as inputs to functions. This caused a number of these issues. I think we have found most of them by now. I have confirmed that the current version prtClass.m does not have the line in question.

Everything should be fine after a pull. Let me know if not.
Kenny