Я обучил многоклассный классификатор в Керасе на наборе данных IRIS. Я хочу интерпретировать мою модель глубокого обучения, используя SHAP . Я использую следующие строки кода, где модель - это мой обученный классификатор нейронной сети, X1[train]
- это мой тренировочный ввод, а X1[test]
- мой тестовый ввод:
import shap
explainer = shap.DeepExplainer(model, X1[train])
shap_values = explainer.shap_values(X1[test])
Однако я получаю эту ошибку (I Я в порядке, когда у моего softmax есть один выход в двоичной классификации. Проблема возникает, когда softmax имеет более 1 выхода ):
ValueError: Unexpectedly found an instance of type `<class 'numpy.ndarray'>`. Expected a symbolic tensor instance.
During handling of the above exception, another exception occurred:
Layer sequential_96 was called with an input that isn't a symbolic tensor. Received type: <class 'numpy.ndarray'>. Full input:
Как решить эту проблему проблема и получить значения SHAP для одного класса в многоклассном классификаторе глубокого обучения?