如何在matlab中存储和检索多个决策树
Posted
技术标签:
【中文标题】如何在matlab中存储和检索多个决策树【英文标题】:how to store and retrieve multiple decision trees in matlab 【发布时间】:2015-12-03 02:42:09 【问题描述】:我有一个 for 循环,每次都生成一个决策树,稍后在程序中我需要将所有决策树应用于测试数据(决策树没有组合成一个整体)。我试图将它们存储在结构数组中,但是当我将它们应用于测试数据时,出现以下错误:
(“struct”类型的输入参数的未定义函数“predict”。)。
我知道生成的树是一个对象,但是如何在 MATLAB 中存储和检索多个对象?
【问题讨论】:
欢迎来到 SO。请在您的代码中提供minimal reproducible example,解释为什么它不适合您以及预期结果是什么。 【参考方案1】:通常对象数组会做(唯一的事情是类需要一个默认构造函数来分配空间)。
所以,最安全的方法是使用元胞数组。代码大致如下:
%'"N" is the size of your problem'
dtrees = cell(1,N);
for k = 1:N
%'Create the decision tree "obj"'
%'...'
dtreesk = obj;
end;
%'...'
%'Later iterate in the cell array'
for k = 1:N
obj = dtreesk;
%'Now do stuff with "obj"'
%'...'
end;
【讨论】:
感谢 CST-Link 的回答和示例 @HannaK 很高兴我能帮上忙。【参考方案2】:您使用元胞数组。 http://uk.mathworks.com/help/matlab/matlab_prog/create-a-cell-array.html 他们几乎可以存储任何东西。
【讨论】:
答案的基本部分是:您使用元胞数组。它回答了“如何在 MATLAB 中存储和检索多个对象?”这个问题。链接只是对元胞数组文档的参考,以防她/他在实现中需要它。以上是关于如何在matlab中存储和检索多个决策树的主要内容,如果未能解决你的问题,请参考以下文章