None 类型不可迭代(RecurrentTabularExplainer)

None Type is not iterable (RecurrentTabularExplainer)

我正在尝试从 LIME 应用 Recurrent Tabular Explainar,但是,我一直收到 NoneType 不可迭代的输出。对于这个简单的最小示例,这甚至仍然存在:

from lime import lime_tabular

x_train = np.random.randint(0, 6249, size=(10, 6249,1))
yy_train = np.random.randint(0, 10, size=(10,1))

explainer = lime_tabular.RecurrentTabularExplainer(x_train, training_labels=yy_train)

任何人都可以帮助我并告诉我哪里出了问题吗? 亲切的问候,

您缺少 feature_names 参数。尽管它有一个默认值 (None),但您的 RecurrentTabularExplainer class 将始终需要该参数,因为它将对该列表执行迭代,以便分配数据列的名称.

由于您没有指定它,它将尝试遍历 None 对象,因此会出现错误。

用字符串列表填充 feature_names 参数,名称与训练数据中的列相对应。

from lime import lime_tabular

x_train = np.random.randint(0, 6249, size=(10, 6249,1))
yy_train = np.random.randint(0, 10, size=(10,1))

explainer = lime_tabular.RecurrentTabularExplainer(x_train, feature_names=yy_names, training_labels=yy_train)

别忘了指定yy_names,比如yy_names = ['name1','name2','etc'...]