错误:没有为类'TreeBagger'的值定义函数'subsindex'

时间:2017-11-20 21:21:08

标签: matlab undefined-function

我已经通过Mdl = TreeBagger(trees, X1, y1, 'NumPredictorsToSample', features, ... 'OOBPrediction', 'on', 'Method', 'classification', 'OOBVarImp', 'on'); 训练了一个随机森林进行二元分类:

X1

我正在尝试返回训练集的error (misclassification probability)train_error = error(Mdl, X1, y1) ):

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

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

import tensorflow as tf
import numpy as np

batch = tf.constant(np.random.rand(3, 2, 3, 6))

x = tf.norm(batch, axis=3)
x = tf.norm(x, axis=2)
x = tf.norm(x, axis=1)

with tf.Session() as sess:
    result = sess.run(x)
print(result)

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

1 个答案:

答案 0 :(得分:1)

我打赌您命名为变量error的实际货币,MATLAB正在尝试使用Mdl索引该变量。但是,Mdl无法用作索引,因为它没有定义subsindex method,因为错误消息指出。键入以下内容,然后重试您的代码:

clear error

您通常不应该给出与现有函数同名的变量(即"阴影")。 function precedence order文档可以这样说:

  

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