SHAP-значения: статистики распределения по признакам
Локальные вклады признаков уже рассчитаны для набора объектов, и нужен сводный отчёт. Реализуйте solve(payload), которая проверит размеры и вернёт статистики для каждой колонки. Подготовку табличных моделей, inference pipeline и deployment отработайте в платном курсе ML Engineer / Data Scientist: табличные модели в продакшн — откройте программу.
Вычисление статистик распределения SHAP-значений по признакам
Вам дана матрица SHAP-значений для тестовой выборки shap_values (numpy.ndarray) и соответствующая таблица признаков df (pandas.DataFrame).
Постановка
- Для каждого признака из
df.columnsвычислить и вернуть словарь, где ключ — имя признака, а значение — словарь со следующими статистиками SHAP-значений по всем объектам:mean: среднее значение SHAPstd: стандартное отклонение SHAPmin: минимальное значение SHAPmax: максимальное значение 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 и т.д.
Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.
Отправьте решение, чтобы увидеть результаты тестов.
Связанные задачи
- Label Encoding: обработайте неизвестные категории в test
- Заполнение пропусков медианой: найдите утечку train и val
- Permutation importance: на какой выборке оценивать признаки
- Препроцессор обучен на train: выберите метод для test
- Early stopping в градиентном бустинге: задача
- crossvalscore: какой параметр выбирает метрику
