Вступить в клуб →
сложнаявопросPython и SQL для подготовки данных

После соединения двух источников все транзакционные признаки оказались нулевыми

Вы соединяете выгрузку из CRM с агрегатами событий:

crm["client_id"].head(2)     # 0    0042315
                             # 1    0009871      dtype: object
events["client_id"].head(2)  # 0    42315
                             # 1    9871         dtype: object

df = crm.merge(events, on="client_id", how="left")
df[["trx_cnt", "trx_sum"]] = df[["trx_cnt", "trx_sum"]].fillna(0)

Модель обучилась без ошибок, но важность транзакционных признаков нулевая. Что произошло?

  • Ключи не совпали из-за разного формата записи, ни одна строка не соединилась, а fillna спрятал это
  • how='left' заполняет непришедшие значения нулями сам, поэтому признаки и вышли константными
  • У этих клиентов в источнике событий действительно нет активности, надо переходить на inner join
  • Бустинг обнулил важность, потому что признаки не были отмасштабированы перед обучением

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела