Kaggle (https://www.kaggle.com/) — бесплатная платформа, где специалисты в области анализа данных и машинного обучения разных уровней пробуют свои силы и соревнуются друг с другом. В итоге можно получить денежный приз и набраться опыта.
Линар, инженер машинного обучения группы компаний Neti — активный участник Kaggle. Недавно он стал серебряным призером платформы. Линар рассказывает, как завоевал «серебро», и делится советами, как использовать Kaggle с максимальной пользой.
Как работает Kaggle
«Я узнал о сервисе год назад, когда искал что-нибудь для себя, — вспоминает Линар. — Увидел, что там много людей делятся идеями и подходами, выкладывают решения».
На Kaggle компании предоставляют необходимые данные и ставят задачу. Задачи разные: найти объекты на фото, классифицировать тексты и т. д. Решая задачу, люди соревнуются. Обычно на решение задачи дается несколько месяцев.
Участвовать может кто угодно: команда, соло, студенты, преподаватели — все, кому интересно. Аудитория сайта – около 1 млн пользователей.
Аккаунт Линара на Kaggle
Организаторы бесплатно предоставляют вычислительные ресурсы — не нужно тратиться на видеокарту или компьютер, для участия в конкурсах достаточно ноутбука и хорошего интернета. Лучше начать с простых заданий и постепенно переходить к более сложным. Важно знать Python и понимать основы машинного обучения.
«Первые состязания я, конечно, не выиграл, — признается Линар. — Было очень сложно тягаться с более опытными соперниками. В итоге я попал лишь в топ-30%».
Чем полезен Kaggle
С помощью Kaggle специалисты по машинному обучению прокачиваются в data science и обмениваются опытом. Пользователи публикуют решения и идеи, делятся информацией, что и как работает или не работает. Встречаются даже готовые куски кода, которые можно использовать в работе.
Как Линар получил серебряную медаль
Задание поступило от испанского банка Santander. Решалась задача классификации на два класса: произведет клиент транзакцию или нет, — то есть нужно было как можно точнее предсказать, совершит ли пользователь банковскую операцию.
Изначально банк предоставил 200 Мб данных — около 200 тыс. записей, то есть 200 тыс. транзакций. Это соревнование стало крупнейшим в истории Kaggle, к концу набралось около 9000 претендентов.
Задание банка Santander специалистам по анализу данных
Линар занял 320 место и вошел в топ-5% лучших, за что получил серебряную медаль: «Сейчас я взял паузу и не участвую в конкурсах. Это большой стресс: ты создаешь что-то новое и поднимаешься по списку вверх, но через пару часов другие люди придумывают решение лучше и ты возвращаешься на свою позицию. И так на протяжении нескольких недель».
Линар планирует участвовать в состязаниях позже.
«Одно соревнование меня уже заинтересовало, — признается он. — Хочу больше прокачать профиль. Сейчас у меня одна медаль. Если получу еще одну, перейду на следующий уровень — «Эксперт». Еще несколько медалей дают уровень «Мастер». После него идет «Гранд-мастер» — гранд-мастеров всего 130 в мире! Этого достичь реально, но очень тяжело».
Несколько советов в конце
Если цель чему-то научиться, а не попасть в топ рейтинга и получить призы, можно выбрать соревнования, за которые не даются медали. В таких конкурсах маленькая конкуренция. Это комфортный формат для обучения.
Иногда организаторы случайно оставляют в данных то, что претендентам не нужно знать. Например, был архив с картинками, в котором остались даты создания изображений. Это утечка данных (leak). Понятно, что в реальности такого не будет и нет смысла учиться искать утечки.
Лучше участвовать в конкурсе командой. Одному иногда лень что-то делать, а командная работа будет держать в тонусе. Плюс происходит обмен идеями, и две хорошие идеи, если их соединить, дадут лучший результат.