如何在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;
我有一个每次生成单个决策树的 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;