В своей прошлой статье мы упоминали участие в соревнованиях Kaggle, как об одном из способов получить опыт по решению задач анализа данных.

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

Главное преимущество Kaggle заключается в том, что каждый проект является автономным. Вам дается набор данных, цель и учебные пособия. Суть такого ресурса – не только в возможности получить неплохой денежный приз в случае победы, но и в том (а, это, пожалуй, гораздо важнее), чтобы набраться опыта и стать специалистом в области анализа данных и машинного обучения.

Некоторые соревнования имеют многомиллионные призовые фонды и сотни конкурентов, что может запугать начинающих специалистов.

Лидирующие команды могут похвастаться десятилетиями совместного опыта в решении сложных проблем, таких как улучшение безопасности в аэропортах или анализ данных со спутников.

Неудивительно, что некоторые новички не решаются начать работу в Kaggle. Они часто задаются вопросами:

— Как мне вообще начать?

— Будут ли я соревноваться с группой опытных аналитиков?

— Стоит ли соревноваться, если у меня нет реальных шансов на победу?

— Это и есть то чем занимаются аналитики данных? (Если я не преуспею в Kaggle, у меня есть будущее в науке о данных?)

— Как я могу улучшить свой рейтинг?

Если у вас когда-либо возникали эти вопросы, то вам сюда.

В этом руководстве мы расскажем все, что вам нужно знать о начале работы, улучшении ваших навыков и получении удовольствия от участия в соревнованиях Кaggle.

Kaggle VS «типичная» наука о данных

Во-первых, нам нужно прояснить такой момент:

Конкурсы Kaggle имеют важные отличия от «типичной» науки о данных, но они по-прежнему могут дать ценный опыт, если вы используете их с правильным подходом.

А если поподробнее:

Конкурсы Kaggle

По своей природе соревнования (с призовыми фондами) должны соответствовать нескольким критериям.

  1. Проблемы должны быть трудными. Задачи не должны решаться в один день. Чтобы получить максимальную отдачу от инвестиций, компании будут предлагать свои самые большие, самые причудливые проблемы.
  2. Решения должны быть новыми. Чтобы выиграть соревнования, вам обычно необходимо провести расширенные исследования, настроить алгоритмы, подготовить модели и т. д.
  3. Результаты должны быть относительными. После соревнований нужно выбрать победителя, поэтому ваше решение будет сравниваться с решениями других участников.

«Типичная» наука о данных

В обычной работе наука о данных не всегда должна соответствовать этим критериям.

  1. Проблемы могут быть легкими. Часто перед аналитиками стоит задача найти проблему, которая может быть эффективно и быстро решена.
  2. Можно использовать уже готовые решения. Не надо изобретать велосипед, когда речь идет о таких задачах как разведочный анализ данных, очистка данных, A/B-тестирование или использование классических алгоритмов.
  3. Результаты могут быть абсолютными. Решение может быть очень ценным, даже если оно просто превосходит предыдущий контрольный показатель.

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

Так стоит ли участвовать в Kaggle?

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

  1. Каждое соревнование является самодостаточным. Вам не нужно раскрывать свой собственный проект и собирать данные, что помогает сфокусироваться полностью на задаче.
  2. Практика. Лучший способ научиться анализу данных- получить как можно больше опыта. Вы может не выиграете все соревнования, но все равно можете заниматься интересными проблемами.
  3. Обсуждения и интервью с победителями. У каждого конкурса есть своя дискуссионная доска и разбор решений с победителями. Вы можете перенять опыт успешных участников.

Как начать работу в Kaggle

Мы предлагаем пошаговый план постепенного укрепления своих позиций в соревнованиях Kaggle.

Шаг 1. Выберите язык программирования.

Мы рекомендуем выбрать один язык программирования и придерживаться его. И Python, и R популярны в Kaggle и в целом среди аналитиков данных.

Если вы начинаете с чистого листа, мы рекомендуем Python, потому что это универсальный язык программирования, который вы можете использовать для полноценных проектов.

Не будет лишним прочитать нашу статью «Python для машинного обучения»

Шаг 2. Изучите основы анализа данных.

Возможность загрузки, навигации и построения ваших данных (т.е. разведочный анализ) — это первый шаг в науке о данных, поскольку от него зависит какое решение вы будете применять во время обучения модели.

Если вы решили использовать в своей работе Python, тогда мы рекомендуем библиотеку Seaborn, которая была специально разработана для этой цели. Она включает в себя функции для построения многих наиболее распространенных и полезных диаграмм.

Шаг 3: Обучите свою первую модель.

Перед тем, как перейти в Kaggle, мы рекомендуем тренировать модель на более удобном и управляемом наборе данных. Это позволит вам ознакомиться с основами и библиотеками машинного обучения.

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

Для Python лучшей универсальной библиотекой машинного обучения является Scikit-Learn.

Шаг 4: Начните с соревнований «Getting Started».

Мы подошли вплотную к началу соревнований в Kaggle. Соревнования делятся на несколько категорий:

  1. Избранные — их обычно спонсируют компании, организации или даже правительство. У них самые большие призовые фонды.
  2. Исследования. Они ориентированы на исследования и не имеют призового фонда.
  3. Набор сотрудников— это спонсируемые компаниями соревнования, цель которых найти в свою команду новых аналитиков данных. Такие соревнования относительно редкие для Kaggle
  4. Начало работы — такие соревнования похожи на избранные, но у них нет призовых фондов. Они содержат более простые наборы данных, множество обучающих программ. Вы можете в любое время принять в них участие.

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

Шаг 5: Соревнуйтесь, чтобы получить максимум знаний, а не заработок.

Пришло время перейти на «Избранные» соревнования. Для этого потребуется гораздо больше времени и усилий.

По этой причине мы рекомендуем разумно выбирать соревнования. Вступайте в конкурсы, которые будут полезны вам с точки зрения изучения новых технологий и интересны в долгосрочной перспективе.

Призовые деньги-это хорошо, вместе с тем более ценная (и надежная) награда будет опыт и знания, которые пригодятся вам для построения карьеры.

Как полюбить Kaggle?

7 советов как получить максимум из участия в соревнованиях:

Совет №1: Ставьте для себя промежуточные цели.

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

Большинство участников Kaggle никогда не выиграют ни одного соревнования, и это нормально. Если вы установите это как свою первую веху, вы можете почувствовать разочарование и потерять мотивацию после нескольких попыток.

Достижение промежуточных целей сделают процесс намного приятнее. Например:

  • Добиться результатов, которые превосходят контрольное решение.
  • Оказаться в 50% лучших.
  • Оказаться в 25% лучших.
  • Оказаться в 25% лучших в трех соревнованиях.
  • Оказаться в 10% лучших.
  • Победить в соревновании!

Такая стратегия позволит вам отслеживать свой прогресс.

Совет № 2: Просматривайте наиболее популярные решения.

У Kaggle есть классная функция, в которой участники могут предоставлять свои решения в виде коротких скриптов.

Когда вы начинаете соревнование или застряли, просмотр популярных решений может помочь придумать новые идеи.

Совет №3: Задавайте вопросы на форумах.

Не бойтесь задавать «глупые» вопросы.

В конце концов, что самое страшное, что может случиться? Может быть, вас проигнорируют … и все.

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

Совет № 4: Попробуйте сначала работать соло.

Вначале мы рекомендуем работать в одиночку. Вы будете сами шаг за шагом проходить все этапы процесса машинного обучения.

Если вы начнете объединяться слишком рано, вы сможете упустить возможности для развития некоторых базовых навыков.

Совет №5: Объединяйте усилия.

С учетом вышесказанного, объединение в будущих соревнованиях может стать отличным способом расширить ваши возможности и учиться у других. Многими победителями соревнований становятся именно команды.

Совет № 6: Помните, что Kaggle может быть только этапом.

Вам не обязательно постоянно участвовать в соревнованиях, это может быть только одним из этапов вашего обучения. Если вы обнаружите, что вам не нравится формат, то это не имеет большого значения.

Фактически, многие люди используют Kaggle как ступеньку перед тем, как перейти на свои собственные проекты или стать аналитиками с полной занятостью.

Это еще одна причина сосредоточиться на обучении столько, сколько сможете. В долгосрочной перспективе лучше ориентироваться на соревнования, которые дадут вам соответствующий опыт, чем преследовать крупнейшие призовые фонды.

Совет № 7: Не беспокойтесь о низких рангах.

Некоторые новички сдаются когда видят низкий рейтинг в профиле.

Однако низкий рейтинг на самом деле не очень важен. Никто не будет судить вас, потому что все были новичками в какой-то момент.

Тем не менее, если вы по-прежнему очень обеспокоены низким рейтингом в своем профиле, вы также можете создать отдельную учетную запись для начала. Как только вы почувствуете себя комфортно, вы можете начать использовать свою «основную учетную запись», чтобы создать свой «трофейный» аккаунт.

(Опять же, это совершенно не обязательно!)

В скором времени мы откроем соревнования и на нашем сайте. Вся информация о них, а также мероприятия мы публикуем у нас в группе.

Удачи!