Генерация локальных интерпретаций с использованием Shap Kernel Explainer - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь интерпретировать мою модель, используя ядро ​​Shap. Набор данных имеет форму (176683, 42). Объяснитель (xgbexplainer) успешно смоделирован, и когда я использую его для генерации shap_values, он выдает ошибку памяти.

import shap
xgb_explainer = shap.KernelExplainer(trained_model.steps[-1][-1].predict,X_for_shap.values)
shap_val = xgb_explainer.shap_values(X_for_shap.loc[0], nsamples=1)

Сначала я использовал nsamples по умолчанию = 2 * X_for_shap.shape [2] + 2048, это возвращено MemoryError: невозможно выделить массив с формой (2132, 7420686) и типом данных float64

Когда я установил его в nsamples = 1, он будет работать в течение неопределенного времени. Пожалуйста, помогите мне понять, где я делаю неправильно

Это скриншот сообщения об ошибке

...