我有一個for循環,每次生成一個決策樹,然後在程序中我需要將所有決策樹應用於測試數據(決策樹不是組合在一起)。我試圖將它們存儲在一個結構數組,但是當我爲他們申請到測試數據我有以下錯誤:如何在matlab中存儲和檢索多個決策樹
(Undefined function 'predict' for input arguments of type 'struct'.).
我知道,產生的樹是一個對象,但你可以如何存儲和檢索多個MATLAB中的對象?
我有一個for循環,每次生成一個決策樹,然後在程序中我需要將所有決策樹應用於測試數據(決策樹不是組合在一起)。我試圖將它們存儲在一個結構數組,但是當我爲他們申請到測試數據我有以下錯誤:如何在matlab中存儲和檢索多個決策樹
(Undefined function 'predict' for input arguments of type 'struct'.).
我知道,產生的樹是一個對象,但你可以如何存儲和檢索多個MATLAB中的對象?
通常情況下,對象數組將會這樣做(唯一的是該類需要一個默認的構造函數來分配空間)。
所以,最安全的方法是使用單元陣列。代碼將沿線︰
%'"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;
感謝CST-Link爲您的答案和例子 –
@HannaK很高興我能提供幫助。 – 2015-09-07 14:48:56
您使用單元陣列。 http://uk.mathworks.com/help/matlab/matlab_prog/create-a-cell-array.html 他們可以存儲幾乎任何東西。
謝謝水手,它與數組一起工作 –
答案的基本部分是:您使用單元陣列。它回答了「如何在MATLAB中存儲和檢索多個對象?」這個問題。 llink只是對單元陣列文檔的引用,以防他/他在實現時需要它。 – Sailor
歡迎來到SO。請用你的代碼提供[mcve],解釋它爲什麼不適合你,以及預期的結果是什麼。 – Adriaan