Обзор платформы Kaggle для начинающих: от состязаний до менторской программы

от автора

В IT-среде название Kaggle часто ассоциируется только с соревнованиями. Но на самом деле это полноценная социальная сеть и база данных для специалистов в сфере Data Science и ML.

Подготовили обзор, чтобы помочь новичкам разобраться в Kaggle. Разбираем, что площадка предлагает джунам и опытным специалистам, как пользоваться ее функциями и с какими задачами она может помочь.

Как работать с Kaggle и что там есть

Kaggle.com — открытая площадка, на которой собрано огромное количество информации по Data Science и машинному обучению:

  • датасетов — больших наборов данных на какую-то тему, которые нужны для обучения модели;

  • «ноутбуков» — так называются записи с примерами кода или готовыми проектами, выложенными в открытый доступ;

  • моделей — готовых моделей для машинного обучения, в том числе нейросетевых.

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

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

Часть возможностей открывается только после достижения определенного рейтинга — например, доступ к закрытым соревнованиям. Рейтинг аккаунта можно повысить, если участвовать в жизни сообщества:

  • показывать хорошие результаты;

  • выкладывать датасеты, проекты или образцы кода;

  • писать полезные комментарии в обсуждениях.

Чтобы пользоваться платформой было удобнее, можно скачать библиотеку kagglehub. Она предоставляет доступ к возможностям Kaggle из командной строки: например, можно парой команд подключить ML-модель, размещенную на площадке.

Библиотека предназначена для языка программирования Python. В Kaggle и в принципе в Data Science этот язык используют чаще всего

Библиотека предназначена для языка программирования Python. В Kaggle и в принципе в Data Science этот язык используют чаще всего

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

Раздел Competitions

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

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

В этом разделе собраны все соревнования, которые проводятся или когда-либо проводились на площадке. В активных конкурсах можно принять участие — нажать на кнопку Join Competition на странице проекта.

Пример учебного соревнования для новичков: научить модель определять, правдив ли тот или иной твит о катастрофе. Знак бесконечности в описании означает, что состязание бессрочное

Пример учебного соревнования для новичков: научить модель определять, правдив ли тот или иной твит о катастрофе. Знак бесконечности в описании означает, что состязание бессрочное

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

Можно посмотреть и на список победителей, и на их решения задачи

Можно посмотреть и на список победителей, и на их решения задачи

Кроме того, соревнования разделены по категориям:

  • All Competitions — все состязания, активные или прошедшие;

  • Featured — самые интересные, с внушительными призами, например солидными денежными вознаграждениями. К примеру, победитель состязания по улучшению алгоритма, предсказывающего колебания валют, получит приз в размере 100 тысяч долларов;

  • Getting Started — соревнования для начинающих, чтобы потренироваться. Часто они бессрочные и не подразумевают вознаграждения;

  • Research — соревнования в научной и образовательной сферах, например создание модели для предсказания землетрясений; 

  • Community — состязания, созданные пользователями Kaggle. Как правило, в них нет денежных призов. Люди участвуют ради прокачки навыков и развлечения;

  • Playground — интересные и относительно простые соревнования от Kaggle без призов. В них тоже участвуют ради азарта и тренировки навыков;

  • Simulations — состязания по тренировке ботов с искусственным интеллектом. Нужно обучить ИИ решать какую-то нестандартную задачу: от игры в «камень-ножницы-бумага» до выживания на виртуальном Марсе;

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

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

В отдельной вкладке можно просмотреть правила и условия: например, не больше 5 человек в одной команде

В отдельной вкладке можно просмотреть правила и условия: например, не больше 5 человек в одной команде

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

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

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

Многие задания — очень непростые и рассчитаны на профессионалов. Конечно, новичку будет сложно принять участие, например, в состязании от Google по доработке языковой модели Gemma 2. Но тем не менее раздел «Соревнования» может быть ему полезен. И вот для чего:

  • Прокачка скилов. Кроме сложных задач от компаний, на Kaggle есть множество соревнований, созданных специально для тренировки. А лучший способ изучить Data Science — практиковаться и решать реальные задачи;

  • Экономия времени. Если хочется создать какой-то проект, его не нужно придумывать с нуля. Можно выбрать задачу, для которой уже прописаны условия и подготовлен датасет — причем, очищенный и структурированный, что редкость в реальных задачах;

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

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

Раздел Datasets

Datasets Kaggle — библиотека наборов данных, созданных пользователями

Datasets Kaggle — библиотека наборов данных, созданных пользователями

Состязания — не единственная, хотя и самая известная функция Kaggle. Участники сообщества могут загружать на платформу собственные датасеты. Их могут скачивать и использовать другие пользователи, чтобы тренировать свои модели и делиться результатами. Сейчас в этом хранилище уже 380+ тысяч датасетов самых разных видов.

От самых часто проигрываемых песен на платформе Spotify до цен на ноутбуки, указанных в евро

От самых часто проигрываемых песен на платформе Spotify до цен на ноутбуки, указанных в евро

Датасеты в Kaggle группируются по категориям: игровые данные, новости, изображения и т.д. Кроме того, можно быстро перейти к наборам для какого-либо направления Data Science, например компьютерного зрения или обработки естественного языка.

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

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

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

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

Например, так выглядит датасет для оценки влияния удаленной работы на ментальное здоровье сотрудников. Предварительно можно посмотреть часть записей и статистику, а для скачивания он доступен в табличном формате CSV

Например, так выглядит датасет для оценки влияния удаленной работы на ментальное здоровье сотрудников. Предварительно можно посмотреть часть записей и статистику, а для скачивания он доступен в табличном формате CSV

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

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

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

Раздел Models

На странице — ссылки на инструкции по установке и карточки моделей для самых разных задач

На странице — ссылки на инструкции по установке и карточки моделей для самых разных задач

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

Например, Gemma от Google доступна только после получения разрешения со стороны компании. Запросить его можно на странице модели

Например, Gemma от Google доступна только после получения разрешения со стороны компании. Запросить его можно на странице модели

Загрузить или скачать модель чуть сложнее, чем датасет. Для них доступно скачивание в виде архива .tar.gz, но сама площадка рекомендует использовать библиотеку kagglehub.

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

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

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

Фильтры отображаются на главной странице раздела. Например, можно найти модель по задаче: классификация изображений, генерация текста и т.д.

Фильтры отображаются на главной странице раздела. Например, можно найти модель по задаче: классификация изображений, генерация текста и т.д.

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

Так выглядит карточка модели, которая декодирует QR-коды с помощью методов глубокого обучения

Так выглядит карточка модели, которая декодирует QR-коды с помощью методов глубокого обучения

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

Раздел Code

В этом разделе собраны «ноутбуки» — образцы кода для решения разных задач. Можно быстро просмотреть самые популярные из них или поискать с помощью фильтров

В этом разделе собраны «ноутбуки» — образцы кода для решения разных задач. Можно быстро просмотреть самые популярные из них или поискать с помощью фильтров

Kaggle Notebooks, по определению самого сервиса, — это облачная вычислительная среда для задач Data Science и машинного обучения. То есть код внутри ноутбуков можно копировать, запускать и затем изменять по своему усмотрению. А также делиться своими наработками с сообществом.

Код в ноутбуках можно писать на одном из двух языков программирования: Python или R. 

Сами ноутбуки бывают двух типов:

  • скрипты — внутри них все воспринимается как код и исполняется последовательно. Можно выполнить скрипт целиком или запустить конкретную строку. Также есть RMarkdown-скрипты: часть таких документов — код на языке R, а часть — разметка Markdown, с помощью которой форматируют текст;

  • Jupyter Notebooks — наиболее известный формат ноутбуков. Это документы, которые могут состоять из блоков разных типов: блок с кодом, поле вывода, отформатированный текст. Такой документ одновременно содержит код и текстовый материал, который описывает его применение.

Так выглядит Jupyter Notebook проекта по изучению данных с помощью Python. Блоки форматированного текста чередуются с блоками кода

Так выглядит Jupyter Notebook проекта по изучению данных с помощью Python. Блоки форматированного текста чередуются с блоками кода

Основная вкладка карточки ноутбука — раздел Script или Notebook в зависимости от типа.Там приведены код и/или текст проекта. Кроме этого, есть разделы:

  • Input — входные данные. Иногда они могут быть закрыты — например, если ноутбук содержит решение задачи с соревнования, а организатор отказался раскрывать данные для тех, кто в нем не участвовал;

  • Output — выходные данные. Обычно их предлагают скачать с помощью Kaggle API, а в разделе содержится команда — ее можно скопировать в один клик;

  • Logs — логи, записи, которые описывают запуск кода. Содержат информацию о времени и успешности выполнения, ошибках, среде исполнения и других деталях;

  • Comments — обсуждение, комментарии пользователей к ноутбуку.

Чтобы пользоваться всеми возможностями среды, понадобится скопировать ноутбук к себе и начать редактировать. Для этого нужно нажать на кнопку Copy & Edit в карточке. 

Откроется окно редактирования. В нем код можно будет запустить, видоизменить, добавить другие входные данные

Откроется окно редактирования. В нем код можно будет запустить, видоизменить, добавить другие входные данные

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

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

Раздел Discussions

Это раздел для обсуждений — место, где люди могут высказаться на волнующие их темы

Это раздел для обсуждений — место, где люди могут высказаться на волнующие их темы

Фактически Discussions — своего рода форум для пользователей Kaggle. Тут есть несколько основных подразделов, посвященным разным темам:

  • General — главная ветка, где собраны сообщения об обновлениях, мероприятиях, наградах. Здесь же дискутируют о различных задачах Data Science;

  • Getting Started — ветка для новичков. Тут собраны темы с информацией о том, как пользоваться возможностями Kaggle, а также подборки полезных материалов;

  • Product Feedback — обратная связь от пользователей. Участники сообщества могут дать отзыв о платформе, рассказать, что им нравится, или предложить улучшения;

  • Questions and Answers — ответы на технические вопросы. Допустим, человек может спросить, как пользоваться алгоритмом, а другие ответят и предложат варианты;

  • Competition Hosting — ветка для тех, кто создает собственные соревнования. Тут обсуждают, например, как лучше подготовить датасет для участников или что предложить в качестве приза;

  • Accomplishments — здесь участники сообщества делятся своими достижениями, а другие поздравляют их.

Кроме отдельных форумов, в разделе Discussions собраны все обсуждения, которые пользователи ведут на страницах моделей, датасетов или ноутбуков. Список размещен под форумами и называется Discussion from across Kaggle.

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

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

Раздел Discussions в первую очередь полезен возможностью пообщаться с другими участниками сообщества. Более опытные коллеги могут дать совет или предложить решение. Кроме того, можно завести связи, найти полезную подборку материалов, узнать о новом интересном соревновании — влиться в жизнь платформы и при этом пассивно прокачивать навыки.

Раздел Learn

Для тех, кто хочет научиться чего-то новому

Для тех, кто хочет научиться чего-то новому

Раздел Kaggle Learn — это подборка курсов и гайдов для начинающих. Здесь есть как вводные курсы для тех, кто никогда не программировал, так и разборы конкретных инструментов, например игрового AI.

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

Так выглядит карточка курса о Pandas. Примерное время его прохождения — 4 часа, и он состоит из 6 уроков с практическими заданиями

Так выглядит карточка курса о Pandas. Примерное время его прохождения — 4 часа, и он состоит из 6 уроков с практическими заданиями

Все курсы бесплатные, а за их прохождение можно получить сертификат от Kaggle. Структура простая: внутри курса — несколько уроков, каждый из которых состоит из материалов и задания. 

Обучающие материалы представлены в виде ноутбука. Задание — тоже ноутбук, но открытый на редактирование, чтобы ученик мог писать и выполнять там свой код

Обучающие материалы представлены в виде ноутбука. Задание — тоже ноутбук, но открытый на редактирование, чтобы ученик мог писать и выполнять там свой код

Курсы довольно короткие и посвящены какому-то конкретному аспекту Data Science. На самой платформе говорится, что их цель — обзорно познакомить человека с важными темами. Кроме того, курсов относительно немного. На момент написания этой статьи их всего 17. Опытным дата-сайентистом курсы не сделают, но в отдельных темах разобраться помогут.

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

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

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

Внутри каждого гайда — ссылки на все, что может пригодиться при освоении той или иной технологии. Это могут быть ноутбуки внутри самого Kaggle, YouTube-туториалы, Kaggle-курсы и обучение на других платформах, а также обсуждения.

Например, подборка полезных YouTube-туториалов и обсуждений фреймворка TensorFlow

Например, подборка полезных YouTube-туториалов и обсуждений фреймворка TensorFlow

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

Wait, there’s more: что еще есть на Kaggle

Мы рассмотрели основные возможности Kaggle, но кроме них, у платформы есть несколько дополнительных. Они скрыты в главном меню под кнопкой More и в основном содержат информацию об использовании площадки. Вот что они содержат.

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

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

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

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

Документация сгруппирована по разделам: состязания, модели, API, датасеты, ноутбуки и т.д.

Документация сгруппирована по разделам: состязания, модели, API, датасеты, ноутбуки и т.д.

Программа менторства. Опытные участники сообщества могут предложить свою помощь начинающим — поделиться опытом, дать рекомендации по развитию. Для этого Kaggle развивает собственную программу KaggleX Mentorship

Программа существует уже четвертый год — первый набор состоялся в 2021

Программа существует уже четвертый год — первый набор состоялся в 2021

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

Кроме помощи ментора, ученик получает кредиты Google Cloud Platform — внутреннюю валюту, которой можно расплачиваться за продвинутые функции платформы. Кроме того, некоторые участники могут получить гранты

Кроме помощи ментора, ученик получает кредиты Google Cloud Platform — внутреннюю валюту, которой можно расплачиваться за продвинутые функции платформы. Кроме того, некоторые участники могут получить гранты

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

В гайдлайнах есть и примеры — как стоит и не стоит общаться с другими участниками

Краткие выводы

  • Kaggle — полезная платформа как для опытных специалистов, так и для новичков. 

  • Она предоставляет возможности для тренировки навыков через соревнования, доступ к множеству датасетов, моделей и кода. 

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

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


Skillfactory и НИЯУ МИФИ создали магистерскую программу для тех, кто хочет освоить Data Science и ML до продвинутого уровня. Студенты научатся создавать интеллектуальные модели для разных сфер — от IT и финансов до науки и медицины, обучать их и внедрять в продакшн. Освоят базу по математике и программированию на Python, а еще смогут получить реальные кейсы по ML-обучению в IT-компаниях — партнерах программы.


ссылка на оригинал статьи https://habr.com/ru/articles/851814/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *