SHAP-значения: статистики распределения по признакам

Локальные вклады признаков уже рассчитаны для набора объектов, и нужен сводный отчёт. Реализуйте solve(payload), которая проверит размеры и вернёт статистики для каждой колонки. Подготовку табличных моделей, inference pipeline и deployment отработайте в платном курсе ML Engineer / Data Scientist: табличные модели в продакшн — откройте программу.

Вычисление статистик распределения SHAP-значений по признакам

Вам дана матрица SHAP-значений для тестовой выборки shap_values (numpy.ndarray) и соответствующая таблица признаков df (pandas.DataFrame).

Постановка

  • Для каждого признака из df.columns вычислить и вернуть словарь, где ключ — имя признака, а значение — словарь со следующими статистиками SHAP-значений по всем объектам:
    • mean: среднее значение SHAP
    • std: стандартное отклонение SHAP
    • min: минимальное значение SHAP
    • max: максимальное значение SHAP

Требования:

  • Используйте только payload['df'] и payload['shap_values'].
  • Убедитесь, что количество признаков совпадает.
  • Верните результат в формате:

  {
    'feature1': {'mean': ..., 'std': ..., 'min': ..., 'max': ...},
    'feature2': {...},
    ...
  }
  

Эта задача проверяет умение агрегировать локальные SHAP-значения по признакам и анализировать их распределение для интерпретации модели.

Example test


Если у вас 3 признака ['A', 'B', 'C'] и соответствующие SHAP значения:


shap_values = np.array([
  [0.1, -0.2, 0.3],
  [0.0, 0.1, -0.1],
  [0.2, -0.1, 0.0],
])

То для признака 'A' mean = (0.1 + 0.0 + 0.2)/3 = 0.1, std ≈ 0.0816, min=0.0, max=0.2 и т.д.

РешениеPython

Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.

Отправьте решение, чтобы увидеть результаты тестов.

Связанные задачи