如何在matlab中存储和检索多个决策树

how to store and retrieve multiple decision trees in matlab

我有一个每次生成单个决策树的 for 循环,稍后在程序中我需要将所有决策树应用于测试数据(决策树未组合成一个整体)。我试图将它们存储在一个结构数组中,但是当我将它们应用于测试数据时出现以下错误:

(Undefined function 'predict' for input arguments of type 'struct'.).

我知道生成的树是一个对象,但是如何在 MATLAB 中存储和检索多个对象?

您使用元胞数组。 http://uk.mathworks.com/help/matlab/matlab_prog/create-a-cell-array.html 他们几乎可以存储任何东西。

通常对象数组就可以了(唯一的问题是 class 需要默认构造函数才能分配 space)。

所以,最安全的方法是使用元胞数组。该代码将类似于:

%'"N" is the size of your problem'
dtrees = cell(1,N);
for k = 1:N
        %'Create the decision tree "obj"'
        %'...'
        dtrees{k} = obj;
end;

%'...'

%'Later iterate in the cell array'
for k = 1:N
        obj = dtrees{k};
        %'Now do stuff with "obj"'
        %'...'
end;