1

我已经通过以下方式训练了一个随机森林进行二元分类TreeBagger

Mdl = TreeBagger(trees, X1, y1, 'NumPredictorsToSample', features, ...
                 'OOBPrediction', 'on', 'Method', 'classification', 'OOBVarImp', 'on');

我正在尝试返回训练集 ( ) 的错误(误分类概率X1):

train_error = error(Mdl, X1, y1)

但是,我收到此错误消息:

Function 'subsindex' is not defined for values of class 'TreeBagger'.

请注意,我不是在寻找袋外错误;我已经毫无问题地获得了。

4

1 回答 1

1

我敢打赌,您将现实世界的货币命名为 variable error,而 MATLAB 正在尝试使用Mdl. 但是,Mdl不能用作索引,因为它没有定义subsindex方法,如错误消息所述。键入以下内容,然后重试您的代码:

clear error

您通常不应该为变量提供与现有函数相同的名称(即“阴影”)。函数优先顺序文档有这样的说法:

如果您创建一个与函数同名的变量,MATLAB 将无法运行该函数,直到您从内存中清除该变量。

于 2017-11-20T22:42:03.243 回答