我通过将模型堆叠在一起构建了一个Caret集合模型。
该模型成功运行,我得到了令人鼓舞的结果。
当我尝试使用Lime解释黑匣子预测时,挑战来了。我得到一个错误说“模型类必须有一个model_type方法”
我遇到这种错误的唯一一次是在H20中使用Lime。随后,Lime背后的人发布了支持Lime的H20的更新。
有没有人知道是否有任何工作要包括CaretStack与Lime一起使用?或者知道解决此问题的解决方法。
根据Lime文档,这些是支持的模型
开箱即用,lime支持以下模型对象:
如果您的模型不是上述模型之一,则需要自己实施支持。如果模型具有模仿来自插入符号的predict.train()的预测接口,则将您的模型包装在as_classifier()/ as_regressor()中以获得支持就足够了。
否则,你需要实现一个predict_model()方法和一个model_type()方法(如果省略后者,模型应该包含在as_classifier()/ as_regressor()中,每次在lime()中使用时)。
解决您的问题:
对于您的情况,CaretStack有一个模仿predict.train()的预测界面,因此将模型包装在as_classifier()或as_regressor()中就足够了