17 сентября 2021

📊 Kaggle за 30 минут: практическое руководство для начинающих

Kaggle expert⚛️ Пишу материал о различных алгоритмах и техниках в сфере Machine Learning.
Начинающему дата сайентисту необходима практика, а Kaggle решает эту проблему. Из статьи вы узнаете, как лучше всего начать работу с популярным сервисом.
📊 Kaggle за 30 минут: практическое руководство для начинающих
Что такое Kaggle?
Kaggle – это сообщество специалистов по Data Science. Изначально оно было соревновательной платформой, однако со временем обзавелось многими другими разделами (о них ниже). В результате мы имеем своеобразную соцсеть для дата-сайентистов, с полным циклом становления нового специалиста: от образовательных мини-курсов по основам машинного обучения до соревнований по исследованию данных.

Как начать?

Прежде чем начать покорение Kaggle, необходимо зарегистрироваться на сайте. Переходим по ссылке и нажимаем кнопку Register. У вас будет два варианта: зарегистрироваться через аккаунт Google или по адресу электронной почты. Получаем подтверждение на почту, логинимся – готово, теперь вы в Kaggle сообществе.

Важно:
На ресурсе есть система продвижения. Как только вы зарегистрируетесь, ваш аккаунт будет на самом низком уровне: Новичок (Novice).
📊 Kaggle за 30 минут: практическое руководство для начинающих

Следующий уровень – Участник (Contributor). Достичь его можно несколькими простыми действиями:

  • Запустите 1 скрипт или notebook.
  • Сделайте 1 сабмит в любое соревнование.
  • Напишите 1 комментарий.
  • Сделайте 1 upvote (аналог лайка – стрелочка вверх).

Ниже вы найдете подробное руководство о том, как совершить эти действия и получить значок Contributor.

📊 Kaggle за 30 минут: практическое руководство для начинающих

Что есть на Kaggle?

После регистрации мы оказываемся на главной странице ресурса и видим там несколько разделов.
После регистрации мы оказываемся на главной странице ресурса и видим там несколько разделов.
Competitions – те самые соревнования Kaggle
Они разделяются на несколько типов. Так, Getting Started и Playground представляют из себя соревнования с заранее обработанными данными и простыми задачами. Featured и Research – более сложные и полномасштабные состязания. Они охватывают весь цикл работ специалиста по Data Science (например, приведение данных в приемлемое состояние). Задача в подобных соревнованиях – решение нетривиальной проблемы, часто от таких крупных корпораций, как Google или Amazon, с солидным денежным вознаграждением для победителей.
📊 Kaggle за 30 минут: практическое руководство для начинающих
Datasets – наборы данных на любой вкус и цвет
Здесь присутствует как дата для соревнований, так и пользовательская. Можно выкладывать собственные датасеты.
Code – пользовательский код
Онлайн-редактор, который позволяет создать Jupyter Notebook или простой скрипт на языках Python и R. Вы просто подключаете данные и работаете в браузере без необходимости устанавливать библиотеки и зависимости. Код выкладывается самый разнообразный: от EDA (Exploratory Data Analysis, он же подробный разбор) задач с соревнований, до простых методов, которые помогут оптимизировать ваши программы.
📊 Kaggle за 30 минут: практическое руководство для начинающих

Ниже панели поиска находятся теги, по которым вы можете отобрать «нотбуки», которые вас интересуют.

Стрелочка под названием – это тот самый Upvote, по количеству которых определяется релевантность. Рекомендую выбрать интересующий вас notebook, лайкнуть его, прокомментировать и нажать кнопку Copy and Edit. Таким образом вы сохраните его у себя в профиле (аналог форка на GitHub), сможете запустить ячейки внутри него и получить описанную выше плашку Kaggle Contributor.

Discussions – обсуждение
Разделенный на несколько частей форум.
📊 Kaggle за 30 минут: практическое руководство для начинающих
  • General – всё, что связано с самим Kaggle (анонсы, дискуссии по поводу прошедших соревнований) и жизненными циклами моделей машинного обучения.
  • Getting Started – аналог предыдущего раздела, но для новичков. Рекомендуется для посещения в первую очередь.
  • Product Feedback – отзывы о сайте. Если в процессе работы на Kaggle вы столкнулись с техническими проблемами, вам сюда.
  • Question & Answers – советы по технической составляющей от других дата-сайентистов.
  • Learn – вопросы и дискуссии, которые касаются раздела Courses на сайте.

Как принять участие в соревновании Kaggle?

Найдите приемлемое для вас соревнование. Потом нажмите Join Competition и согласитесь с условиями.

📊 Kaggle за 30 минут: практическое руководство для начинающих
  • Overview – обзор соревнования. Здесь изложена суть проблемы, которую нужно решить. Также в этом разделе указана метрика, которая используется в состязании и другие требования (например, формат «сабмита»).
  • Data – данные, по которым нужно добиться наилучшего показателя метрики.
  • Code – тут участники соревнования выкладывают свои идеи и решения. Этот раздел рекомендуется для посещений в первую очередь, так как вы можете подсмотреть идеи для своих решений.
  • Discussion – обсуждение проблем соревнования, методов решения, нюансов.
  • Leaderboard – доска лидеров. В продвинутых соревнованиях на ней присутствуют золотая секция для денежных призов, серебряная для поощрительных и бронзовая для медалей Kaggle.
  • Rules – правила соревнования.
  • Team – есть не во всех состязаниях. Лучше всего создавать команды на более сложных этапах покорения Kaggle, для начала – пробуйте сами, чтобы обзавестись необходимыми навыками.

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

Чаще всего данные разбиваются на сеты train и test. При помощи первого вы обучаете модель, а уже на основе второго делаете предсказание (predict) перед сохранением решения (Submission).

Чтобы составить решение прямо на сайте, вам нужно:

  • Создать новый notebook в разделе Code.
📊 Kaggle за 30 минут: практическое руководство для начинающих
  • Добавить туда данные соревнования, нажав кнопку Add data.
📊 Kaggle за 30 минут: практическое руководство для начинающих
  • Сохранить notebook.
📊 Kaggle за 30 минут: практическое руководство для начинающих
  • После этого у вас высветится меню, где нужно нажать Submit to Competition.
📊 Kaggle за 30 минут: практическое руководство для начинающих

Теперь ваше решение появилось в турнирной таблице.

Самые простые соревнования для начинающих.

Примечание:
Данные соревнования входят в категории Getting Started и Playground. Вы не получите за них денежные призы и медали, однако, это отличный способ улучшить свои навыки и влиться в соревновательную среду Kaggle.
  • Titanic. Пожалуй, самое известное соревнование для новичков. Датасет «Титаника» содержит данные пассажиров одноименного корабля. Ваша цель – построение такой модели, которая наилучшим образом сможет предсказать, остался произвольный пассажир в живых или нет. Это типичная задача классификации.
  • House prices. Перед нами стоит задача предсказания стоимости дома на основе множества признаков (фич), вроде местоположения, площади, количества комнат, наличия гаража и т.д. Существует и более продвинутая версия этого соревнования – Advanced Regression Techniques. Здесь нужно решить задачу регрессии, поэтому вы можете наполнить модель линейными методами.
  • Tabular Playground Series. Запускается каждый месяц с января 2021 года. Ваша цель – предсказать столбец target на основе простых, табличных данных. В отличии от описанных выше бесконечных соревнований, Tabular Playground длится ровно месяц, что делает его более динамичным. Здесь будет меньше открытых нотбуков с готовыми ответами, но больше пространства для создания собственного, уникального решения.

Почему стоит участвовать в соревнованиях Kaggle?

Если вы еще не пробовали Kaggle, самое время начать. Соревнования помогут вам научиться решать реальные задачи из области Data Science и выбрать одно из ее многочисленных направлений. В режиме непрерывной практики за неделю вы узнаете больше, чем за 3 месяца изучения теории. Более того, медали с соревнований будут плюсом при трудоустройстве: работодатели обязательно обратят внимание на ваш практический опыт. В следующей статье мы разберемся с одним из самых базовых соревнований Kaggle – House Prices.

***

Хочу подтянуть знания по математике, но не знаю, с чего начать. Что делать?

Если базовые концепции языка программирования можно достаточно быстро освоить самостоятельно, то с математикой могут возникнуть сложности. Чтобы помочь освоить математический инструментарий, «Библиотека программиста» совместно с преподавателями ВМК МГУ разработала курс по математике для Data Science, на котором вы:

  • подготовитесь к сдаче вступительных экзаменов в Школу анализа данных Яндекса;
  • углубитесь в математический анализ, линейную алгебру, комбинаторику, теорию вероятностей и математическую статистику;
  • узнаете роль чисел, формул и функций в разработке алгоритмов машинного обучения.
  • освоите специальную терминологию и сможете читать статьи по Data Science без постоянных обращений к поисковику.

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

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ