#r #r-caret #lime
#r #r-каретка #lime
Вопрос:
Я построил модель ансамбля каретки, объединив модели вместе.
Модель работала успешно, и я получил обнадеживающие результаты.
Проблема возникла, когда я попытался использовать Lime для интерпретации прогнозов черного ящика. Я получил сообщение об ошибке «Класс model должен иметь метод model_type»
Единственный раз, когда я столкнулся с такой ошибкой, был при использовании Lime в H20. Впоследствии разработчики Lime выпустили обновление, поддерживающее H20 в Lime.
Кто-нибудь знает, была ли проделана какая-либо работа по включению CaretStack для использования с Lime? Или знаете обходной путь для решения этой проблемы.
Ответ №1:
Согласно документации Lime, это поддерживаемые модели
Из коробки lime поддерживает следующие объекты модели:
-
поезд из caret
-
WrappedModel из mlr
-
xgb.Booster от xgboost
-
H2OModel из h2o
-
keras.engine.training.Модель от keras
-
lda из MASS (используется для примеров с низкой зависимостью)
Если ваша модель не соответствует ни одной из вышеперечисленных, вам необходимо самостоятельно внедрить поддержку. Если модель имеет интерфейс predict, имитирующий интерфейс predict.train() из caret , будет достаточно обернуть вашу модель в as_classifier() / as_regressor(), чтобы получить поддержку.
В противном случае вам потребуется реализовать метод predict_model() и, возможно, метод model_type() (если последний опущен, модель должна быть обернута в as_classifier() / as_regressor(), каждый раз, когда он используется в lime()).
Решение вашего вопроса:
В вашем случае CaretStack имеет интерфейс predict, имитирующий интерфейс predict.train(), поэтому обертывания вашей модели в as_classifier() или as_regressor () должно быть достаточно
Комментарии:
1. @Bokkiem, пожалуйста, примите, если это ответ на ваш вопрос. Примите, нажав на галочку, связанную с моим ответом.