如何在结构上使用TreeBagger(随机森林)方法?

时间:2019-05-28 06:50:38

标签: matlab machine-learning struct tree random-forest

我正在尝试使用MATLAB的TreeBagger方法,该方法实现了一个随机森林。我的数据是一个具有2个字段(位置和成本)的25 * 1结构。位置字段的每个元素为56 * 3,成本的每个元素为1 * 2。 “位置”字段为“培训X”,“成本”字段为“培训Y”。

如何使用TreeBagger方法?

我写了这段代码:

for m = 1 : 2
    for q=1:25
        fitness(q,m)=subpop(q,:).cost(1,m);
    end
    M1 = TreeBagger(1, 
     [subpop.position],fitness(:,m),'Method','regression','Surrogate','on',...
                    'oobvarimp','on','OOBPred','on');
    imp(m,:) = M1.OOBPermutedVarDeltaError;
end

但是我遇到了以下错误:

Error using classreg.learning.FullClassificationRegressionModel.prepareDataCR (line 138)
X and Y do not have the same number of observations.

Error in classreg.learning.regr.FullRegressionModel.prepareData (line 104)
            [X,Y,W,dataSummary] = ...

Error in TreeBagger/init (line 1198)
                [bagger.X,bagger.Y,bagger.W,bagger.DataSummary] = ...

Error in TreeBagger (line 531)
            bagger = init(bagger,X,Y,makeArgs{:});

Error in test_980305 (line 199)
                M1 =
                TreeBagger(1,[subpop.position],fitness(:,m),'Method','regression','Surrogate','on',... 

enter image description here

0 个答案:

没有答案