Lime 包无法获得 CaretStack 的预测
Lime package not able to get predictions for CaretStack
我通过将模型堆叠在一起构建了 Caret 集成模型。
模型运行成功,我得到了令人鼓舞的结果。
当我尝试使用 Lime 来解释黑盒预测时,挑战就来了。我收到一条错误消息 "The class of model must have a model_type method"
我唯一一次遇到这样的错误是在 H20 中使用 Lime 时。随后,Lime 幕后黑手发布了 Lime 支持 H20 的更新。
有谁知道是否已完成任何工作以包括 CaretStack 以便与 Lime 一起使用?或者知道解决此问题的解决方法。
根据 Lime 文档,这些是受支持的模型
开箱即用,lime 支持以下模型对象:
从插入符号训练
来自 mlr 的 WrappedModel
xgb.Booster 来自 xgboost
来自 h2o 的 H2OModel
keras.engine.training.Model 来自 keras
来自 MASS 的 lda(用于低依赖性示例)
如果您的模型不是上述模型之一,您需要自己实施支持。如果模型有一个预测接口模仿插入符号中的 predict.train() 的接口,那么将模型包装在 as_classifier()/as_regressor() 中就足以获得支持。
否则你需要实现一个 predict_model() 方法并且可能需要一个 model_type() 方法(如果后者被省略,模型应该被包裹在 as_classifier ()/as_regressor(),每次都用在lime()).
你问题的解决方法:
对于您的情况,CaretStack 有一个模仿 predict.train() 的预测接口,因此将您的模型包装在 as_classifier() 或 as_regressor() 中就足够了
我通过将模型堆叠在一起构建了 Caret 集成模型。
模型运行成功,我得到了令人鼓舞的结果。
当我尝试使用 Lime 来解释黑盒预测时,挑战就来了。我收到一条错误消息 "The class of model must have a model_type method"
我唯一一次遇到这样的错误是在 H20 中使用 Lime 时。随后,Lime 幕后黑手发布了 Lime 支持 H20 的更新。
有谁知道是否已完成任何工作以包括 CaretStack 以便与 Lime 一起使用?或者知道解决此问题的解决方法。
根据 Lime 文档,这些是受支持的模型
开箱即用,lime 支持以下模型对象:
从插入符号训练
来自 mlr 的 WrappedModel
xgb.Booster 来自 xgboost
来自 h2o 的 H2OModel
keras.engine.training.Model 来自 keras
来自 MASS 的 lda(用于低依赖性示例)
如果您的模型不是上述模型之一,您需要自己实施支持。如果模型有一个预测接口模仿插入符号中的 predict.train() 的接口,那么将模型包装在 as_classifier()/as_regressor() 中就足以获得支持。
否则你需要实现一个 predict_model() 方法并且可能需要一个 model_type() 方法(如果后者被省略,模型应该被包裹在 as_classifier ()/as_regressor(),每次都用在lime()).
你问题的解决方法:
对于您的情况,CaretStack 有一个模仿 predict.train() 的预测接口,因此将您的模型包装在 as_classifier() 或 as_regressor() 中就足够了