Что такое Kaggle? Kaggle – это сообщество специалистов по Data Science. Изначально оно было соревновательной платформой, однако со временем обзавелось многими другими разделами (о них ниже). В результате мы имеем своеобразную соцсеть для дата-сайентистов, с полным циклом становления нового специалиста: от образовательных мини-курсов по основам машинного обучения до соревнований по исследованию данных.
Как начать? Прежде чем начать покорение Kaggle, необходимо зарегистрироваться на сайте. Переходим по ссылке и нажимаем кнопку Register . У вас будет два варианта: зарегистрироваться через аккаунт Google или по адресу электронной почты. Получаем подтверждение на почту, логинимся – готово, теперь вы в Kaggle сообществе.
Важно: На ресурсе есть система продвижения. Как только вы зарегистрируетесь, ваш аккаунт будет на самом низком уровне: Новичок (Novice) .
Следующий уровень – Участник (Contributor) . Достичь его можно несколькими простыми действиями:
Запустите 1 скрипт или notebook. Сделайте 1 сабмит в любое соревнование. Напишите 1 комментарий. Сделайте 1 upvote (аналог лайка – стрелочка вверх). Ниже вы найдете подробное руководство о том, как совершить эти действия и получить значок Contributor .
Что есть на Kaggle?
После регистрации мы оказываемся на главной странице ресурса и видим там несколько разделов. Competitions – те самые соревнования Kaggle Они разделяются на несколько типов. Так, Getting Started и Playground представляют из себя соревнования с заранее обработанными данными и простыми задачами. Featured и Research – более сложные и полномасштабные состязания. Они охватывают весь цикл работ специалиста по Data Science (например, приведение данных в приемлемое состояние). Задача в подобных соревнованиях – решение нетривиальной проблемы, часто от таких крупных корпораций, как Google или Amazon, с солидным денежным вознаграждением для победителей.
Datasets – наборы данных на любой вкус и цвет Здесь присутствует как дата для соревнований, так и пользовательская. Можно выкладывать собственные датасеты. Code – пользовательский код Онлайн-редактор, который позволяет создать Jupyter Notebook или простой скрипт на языках Python и R. Вы просто подключаете данные и работаете в браузере без необходимости устанавливать библиотеки и зависимости. Код выкладывается самый разнообразный: от EDA (Exploratory Data Analysis, он же подробный разбор) задач с соревнований, до простых методов, которые помогут оптимизировать ваши программы.
Ниже панели поиска находятся теги, по которым вы можете отобрать «нотбуки», которые вас интересуют.
Стрелочка под названием – это тот самый Upvote , по количеству которых определяется релевантность. Рекомендую выбрать интересующий вас notebook, лайкнуть его, прокомментировать и нажать кнопку Copy and Edit . Таким образом вы сохраните его у себя в профиле (аналог форка на GitHub), сможете запустить ячейки внутри него и получить описанную выше плашку Kaggle Contributor .
Discussions – о бсуждение Разделенный на несколько частей форум.
General – всё, что связано с самим Kaggle (анонсы, дискуссии по поводу прошедших соревнований) и жизненными циклами моделей машинного обучения. Getting Started – аналог предыдущего раздела, но для новичков. Рекомендуется для посещения в первую очередь. Product Feedback – отзывы о сайте. Если в процессе работы на Kaggle вы столкнулись с техническими проблемами, вам сюда. Question & Answers – советы по технической составляющей от других дата-сайентистов. Learn – вопросы и дискуссии, которые касаются раздела Courses на сайте. Как принять участие в соревновании Kaggle? Найдите приемлемое для вас соревнование. Потом нажмите Join Competition и согласитесь с условиями.
Overview – обзор соревнования. Здесь изложена суть проблемы, которую нужно решить. Также в этом разделе указана метрика, которая используется в состязании и другие требования (например, формат «сабмита»). Data – данные, по которым нужно добиться наилучшего показателя метрики. Code – тут участники соревнования выкладывают свои идеи и решения. Этот раздел рекомендуется для посещений в первую очередь, так как вы можете подсмотреть идеи для своих решений. Discussion – обсуждение проблем соревнования, методов решения, нюансов. Leaderboard – доска лидеров. В продвинутых соревнованиях на ней присутствуют золотая секция для денежных призов, серебряная для поощрительных и бронзовая для медалей Kaggle. Rules – правила соревнования. Team – есть не во всех состязаниях. Лучше всего создавать команды на более сложных этапах покорения Kaggle, для начала – пробуйте сами, чтобы обзавестись необходимыми навыками. Итак, вы разобрались с интерфейсом. Классическая цель соревнования выглядит так: на основе имеющихся данных вам необходимо выбить лучший показатель метрики.
Чаще всего данные разбиваются на сеты train и test . При помощи первого вы обучаете модель, а уже на основе второго делаете предсказание (predict ) перед сохранением решения (Submission).
Чтобы составить решение прямо на сайте, вам нужно:
Создать новый notebook в разделе Code .
Добавить туда данные соревнования, нажав кнопку Add data .
После этого у вас высветится меню, где нужно нажать Submit to Competition .
Теперь ваше решение появилось в турнирной таблице.
Самые простые соревнования для начинающих. Примечание: Данные соревнования входят в категории Getting Started и Playground . Вы не получите за них денежные призы и медали, однако, это отличный способ улучшить свои навыки и влиться в соревновательную среду Kaggle.
Titanic. Пожалуй, самое известное соревнование для новичков. Датасет «Титаника» содержит данные пассажиров одноименного корабля. Ваша цель – построение такой модели, которая наилучшим образом сможет предсказать, остался произвольный пассажир в живых или нет. Это типичная задача классификации. House prices. Перед нами стоит задача предсказания стоимости дома на основе множества признаков (фич), вроде местоположения, площади, количества комнат, наличия гаража и т.д. Существует и более продвинутая версия этого соревнования – Advanced Regression Techniques. Здесь нужно решить задачу регрессии, поэтому вы можете наполнить модель линейными методами. Tabular Playground Series. Запускается каждый месяц с января 2021 года. Ваша цель – предсказать столбец target на основе простых, табличных данных. В отличии от описанных выше бесконечных соревнований, Tabular Playground длится ровно месяц, что делает его более динамичным. Здесь будет меньше открытых нотбуков с готовыми ответами, но больше пространства для создания собственного, уникального решения. Почему стоит участвовать в соревнованиях Kaggle? Если вы еще не пробовали Kaggle, самое время начать. Соревнования помогут вам научиться решать реальные задачи из области Data Science и выбрать одно из ее многочисленных направлений. В режиме непрерывной практики за неделю вы узнаете больше, чем за 3 месяца изучения теории. Более того, медали с соревнований будут плюсом при трудоустройстве: работодатели обязательно обратят внимание на ваш практический опыт.
***
Если вы только начинаете путь в профессию и еще не определились со специализацией, подумайте о применении методов науки о данных в медицинской отрасли: сейчас это одно из самых перспективных направлений. Образовательная онлайн-платформа GeekBrains проводит набор на факультет Data Science в медицине, на котором студенты научатся с нуля решать задачи в области медицины. Обучение длится 18 месяцев, плюс 6 месяцев занимает практика по медицинской специализации. По итогам получите 15 проектов в портфолио и гарантию трудоустройства .
Интересно, хочу попробовать