Простой пример это timestamp, из него можно получить день недели и час дня, когда фичи разделяются на сплиты маловероятно что получится выделить воскресение в отдельный сплит. Если и получится случайно то какие то конкретные воскресения. А что если воскресение вечер окажется важной фичей.
Другой пример из sna конкурса. Есть количество просмотров объекта и количество лайков объекта, фажным признаком будет likesCount/showsCount, то есть для дерева не понятно 10 лайков это хорошо или плохо, оно должно создать сразу ещё один лист который определит а сколько просмотров (точнее больше чем сколько).
Впринципе то что я описал в идеальном случае должно разруливатсья бустингом, но нужно очень много итераций и удача.
Получается что мы можем упростить задачу для бустинга понимая что значит фича и создавая новую на основе неё, следуя этому выводу можно попробовать рандомно делить умножать, вычитать попарно фичи и смотреть не получится ли что то. Важные фичи оставлять, а остальные убирать. Думаю если такое когда нибудь эффективно реализуют в какой то либе, то тогда у разработчика больше не будет нужды в генерации подобных вещей.
Ещё пример это категориальные фичи, например нормировать какую то фичу в рамках категории (вычесть среднее по юзеру из каждой строки этого юзера). catboost не смотрит на юзера как на ohe для этого юзера появляется float значение которое в каждой строке разное и ничего подобного (нормализацию) он сам сделать не сможет.
Иван, а может напишешь статью на хабр по тюнингу катбуста на примере SNA Hackathon 2019? )