Как стать автором
Обновить

Комментарии 10

Спасибо за статью!
Как понять, что нужно остановиться с feature generation? Допустим, есть n входных фич, тогда в каком диапазоне будет m сгенерированных?

с количеством — все зависит от Вашей фантазии, количества времени и необходимости в новых признаках.

Иногда бывает что я добавляю новый признак и невижу никакого изменения, а подумав больше понимаю что модель сама может вывести подобный признак из уже существующих.
Когда остановится — я бы смотреть по динамике улучшения. Если новые признаки продолжают значительно улучшать оценочную метрику, я бы продолжал. С другой стороны, иногда просто надоедает и хочется поигратся с ансамблем или другими типапи алгоритмов.

также, разные алгоритмы могут неявно накладывать ограничения на взаимодействие между признаками — например линейная регрессия не «любит» сильно коррелирующие признаки.
В соревновании на которое я ссылаюсь, я сгенерировал наверное ~250 типов признаков, использовал около 120.

Кроме того, часто бывает обратная ситуация, когда признаков много, и используются средства понижения размерности

С другой стороны, некоторые алгоритмы (например глубокие нейронные сети) сами неявно формируют что-то вроде признаков
Большое спасибо за статью. Написано очень доступно и без воды.
Насколько у Вас сильные знания по математике? И насколько они помогают в области машинного обучения?
Сейчас знания достаточные чтобы разобратся во внутреннем устройстве алгоритмов, проверках и анализе експериментов и тд, но вот когда начинал пришлось заново изучать основы.

Я бы сказал что для начала, можно вообще без знаний матана — нагенерировали признаков, скормили модели, посмотрели результат.
Дальше хорошо бы начало статистики, базовая теория вероятности, умножение матриц\векторов из линейной алгебры, и диффиренциирование.

Есть множество MOOC курсов по этим темам,
Спасибо за подробное изложение!
Вопрос: почему на заключительном этапе не объединяетесь с кем-нибудь из соседей по leader-board в команду? Говорят, что ансамбль и стекинг разных моделей часто помогает получить результат выше. По этой причине люди стремятся составить команды, пишут друг другу приглашения.
Действительно, обьединение в команду почти гарантировано позволяет улучшить результат, дело в разных признаках, возможно разных алгоритмах, гипер-параметрах и тд. Это напоминает ансамбь моделей, уменьшающий разброс (variance) и таким образом улучшающим результат.
Кроме того, команда просто может реализовать больше функциональности, перебровать больше вариантов.
Можно также перенять опыт других участников — преимуществ масса.

Ближе к финалу я получал предложения обьеденится, в том числе от команды занявшей призовое место, однако изначальной задачей был финиш в топ 10 соло, что является отличительным достижением, с точки зрения Kaggle
А по результатам соревнований связывался ли с Вами кто-нибудь с предложением работы? Или наличие в профиле призовых мест помогает в поиске работы?
С одной стороны, предложения поступают постоянно. Относительно влияния результатов этого соревнования — связывались несколько топ компаний
 Андрей, отличная статья и отличный результат!

Как долго ты участвовал в других соревнования на Kaggle.com прежде чем достичь этого результата (финиш в топ 10)?

Интересно, насколько все это актуально в 2023г.?

Может есть новая версия статьи?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации