Array of ClassificationTree objects

3 次查看(过去 30 天)
I am very new to MATLAB. I was trying to train some ClassificationTree's and the assign them in array with the following snippet
for k = 1:rows
tree=ClassificationTree.fit(data(1:k, 1:cols),labels(1:k));
ensemble(k)=tree;
end
however when I run this I get following error
??? Error using ==> DisallowVectorOps>DisallowVectorOps.subsasgn at 28
You cannot assign to an object of class double using () indexing.
Error in ==> dwm02 at 7
ensemble(k)=tree;
is there any way of doing this? MATLAB help on object arrays is a bit confusing..

采纳的回答

Ilya
Ilya 2012-6-6
Use a cell array. Pre-allocate the array by
ensemble = cell(rows,1);
And then assign using curly brackets:
ensemble{k} = tree;
  2 个评论
Rashid
Rashid 2012-6-7
Thanks, this works very well!
Just a question - is it absolutely necessary to pre-allocate the array? My array will have dynamic nature, so I would prefer dynamic allocation of memory as well.
Walter Roberson
Walter Roberson 2012-6-7
It is not absolutely necessary to pre-allocate: it is a matter of efficiency.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Classification Ensembles 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by