Проблемы с применением SHAP PermutationExplainer к пользовательской модели глубокого обучения с вводом ЭКГ в 12 отведениPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблемы с применением SHAP PermutationExplainer к пользовательской модели глубокого обучения с вводом ЭКГ в 12 отведени

Сообщение Anonymous »

Я пытаюсь использовать SHAP для интерпретируемости в пользовательской модели глубокого обучения, в частности применяя PermutationExplainer() к моей модели диагностики заболеваний сердца. Входные данные модели представляют собой пакет сигналов ЭКГ в 12 отведениях формы (5, 5000, 12).
Однако я сталкиваюсь с ошибками при попытке вычислить значения SHAP. Сталкивался ли кто-нибудь с подобными проблемами при применении SHAP к моделям глубокого обучения, особенно с использованием PermutationExplainer?
Код модели:

Код: Выделить всё

#Create a Sequential version of your model
sequential_model = keras.Sequential([
keras.layers.InputLayer(shape=(5000, 12)),
keras.layers.Conv1D(filters=32, kernel_size=3, activation='relu'),
keras.layers.MaxPooling1D(pool_size=2),
keras.layers.Flatten(),
keras.layers.Dense(64, activation='relu'),
keras.layers.Dense(20, activation='softmax')
])

#Transfer weights from the original Functional model
sequential_model.set_weights(model.get_weights())
Код, выдающий ошибку:

Код: Выделить всё

explainer4 = shap.Explainer(sequential_model.predict, background_data)
shap_values = explainer4(background_data,max_evals = 10001)
Ошибка:

Код: Выделить всё

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
...
TypeError: 'numpy.ndarray' object is not callable
Похоже, что в процессе объяснения SHAP произошел сбой. Я подозреваю, что проблема может быть связана с тем, как данные передаются в PermutationExplainer, но я не знаю, как ее решить.
Кто-нибудь еще сталкивался с этим или имеет предложения о том, как это сделать? правильно применить PermutationExplainer в этом контексте? Будем признательны за любую помощь!
Я пробовал различные подходы, такие как:
  • Обеспечение того, что фоновые данные имеют правильный тип данных. .
[*]Использование меньшего размера фоновых данных
< /ol> Но никакой пользы они не принесли.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -model-wit
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»