MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by FIR
on 12 Apr 2012

I have a code

load('fisheriris'); y = species; X = meas; cp = cvpartition(y,'k',10); % Stratified cross-validation

classf = TreeBagger(10,meas,species,'oobpred','on');

cvMCR = crossval('mcr',X,y,'predfun',classf,'partition',cp)

i get error as

Undefined function 'func2str' for input arguments of type 'TreeBagger'.

Error in crossval>evalFun (line 465) error(message('stats:crossval:FunError', func2str( fun ), ME.message));

*No products are associated with this question.*

Answer by Ilya
on 12 Apr 2012

Accepted answer

Quoting http://www.mathworks.com/matlabcentral/answers/34771-classifier

In particular, 2nd example for crossval here http://www.mathworks.com/help/toolbox/stats/crossval.html shows what you need to do. You would need to replace the function handle classf in that example with a function which has two lines of code in it: 1) Train a TreeBagger on Xtrain and Ytrain, and 2) Predict labels for Xtest using the trained TreeBagger.

Answer by Walter Roberson
on 12 Apr 2012

The 'predfun' parameter expects a function handle as the associated value. Instead you passed in a TreeBagger object.

## 0 Comments