Расчет ожидаемого_значения в пояснениях SHAP классификатора XGBoostPython

Программы на Python
Ответить
Гость
 Расчет ожидаемого_значения в пояснениях SHAP классификатора XGBoost

Сообщение Гость »


Как понять SHAP explainer.expected_value? Почему это не то же самое с y_train.mean() после сигмовидного преобразования?

Ниже приведено краткое описание кода для быстрого ознакомления. Полный код доступен в этом блокноте: https://github.com/MenaWANG/ML_toy_exam ... tion.ipynb

model = xgb.XGBClassifier() model.fit(X_train, y_train) объяснитель = shap.Explainer(модель) shap_test = объяснитель (X_test) shap_df = pd.DataFrame(shap_test.values) #Для каждого случая, если мы сложим значения формы для всех функций плюс ожидаемое значение, мы можем получить запас для этого случая, который затем можно преобразовать, чтобы вернуть прогнозируемую вероятность для этого случая: np.isclose(model.predict(X_test, output_margin=True),explainer.expected_value + shap_df.sum(axis=1)) #Истинный Но почему приведенное ниже не соответствует действительности? Почему после сигмовидного преобразования explainer.expected_value не совпадает с y_train.mean() для классификаторов XGBoost?
expit(explainer.expected_value) == y_train.mean() #ЛОЖЬ
Ответить

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

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

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

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

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