Повышайте квалификацию своей организации в области машинного обучения и искусственного интеллекта с помощью Kaggle

1. Введение

47566e1490c16443.png

Последнее обновление: 10 мая 2024 г.

Что такое Каггл?

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

Что ты построишь

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

Что вы узнаете

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

Эта лаборатория кода ориентирована на быстрое создание соревнований и использует растущую библиотеку соревнований Kaggle.

Что вам понадобится

  • Последний веб-браузер
  • Базовые знания Python

2. Приступаем к настройке

Создать учетную запись Kaggle

Посетите веб-сайт Kaggle (https://www.kaggle.com/) и нажмите «Зарегистрироваться», чтобы создать бесплатную учетную запись.

подтвердите ваш аккаунт

  1. В правом верхнем углу страницы нажмите на изображение своего профиля.
  2. Нажмите «Ваш профиль»
  3. Нажмите кнопку «Настройки» в правой части содержимого профиля.
  4. В разделе «Подтверждение телефона» приведены инструкции по проверке вашей учетной записи.

3. Создание вашего первого соревнования

Представляем шаблоны соревнований, созданные искусственным интеллектом

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

Вот как это работает:

  1. Выберите шаблон : выберите из списка шаблонов, основанных на различных задачах машинного обучения (например, классификация, регрессия).
  2. ИИ генерирует набор данных : ИИ Kaggle создает новый набор данных для ваших конкурентов на основе выбранного вами шаблона. Этот набор данных похож на исходный, но использует подмножество функций и имеет немного другое распределение функций.
  3. Настройте свое соревнование . Введите основные сведения, такие как название соревнования, описание и сроки. Вы также можете выбрать настройки конфиденциальности для своих конкурентов.
  4. Запуск : после согласования деталей и настройки запуска вы готовы запустить соревнование.

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

Создать соревнование

Перейдите на https://www.kaggle.com/competitions/new , выберите «Новое соревнование, созданное искусственным интеллектом».

2629bf77a282a46c.png

Выберите конкурс «Регрессия с набором данных о возрасте краба».

Подробности конкурса

2dd2228b9d686a6e.png

Введите описательное имя и подзаголовок. Например, вы можете использовать «Соревнование крабов <Ваши имена>» в качестве заголовка и «Создаю свое первое соревнование, чтобы посмотреть, как оно работает» в качестве подзаголовка. Обратите внимание, что URL-адрес конкурса заполняется автоматически на основе заголовка.

Видимость и доступ

Теперь нам нужно настроить видимость и доступ для конкурентов.

5c7dcae412ddd574.png

Видимость

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

Кто может присоединиться

  • Кто угодно : Это похоже на политику открытых дверей. Любой пользователь Kaggle может присоединиться к вашему соревнованию.
  • Только те, у кого есть ссылка : это более эксклюзивно. Вы создадите специальную ссылку, и присоединиться к ней смогут только люди, у которых есть эта ссылка.
  • Ограниченный список адресов электронной почты : это наиболее контролируемый вариант. Вы предоставляете список конкретных адресов электронной почты или доменов (например, @yourschool.edu), и присоединиться могут только люди с этими адресами.

Подробнее о настройке «Включить блокноты и модели» мы поговорим позже. А пока убедитесь, что он включен. Для нашего примера конкуренции установите эти настройки на «Частный» и «Только люди со ссылкой».

Прочтите и согласитесь с условиями и нажмите « Создать конкурс ».

4. Понимание и настройка ваших конкурентов

За кулисами мы создали совершенно новое соревнование с уникальным набором данных. Давайте проведем краткий обзор настроек соревнований.

Вкладка «Хост»

Вкладка «Хост» содержит все, что вам нужно как хосту для правильной настройки вашего соревнования. В частности, см. список страниц в правой части страницы:

bcedd6768cc4f32c.png

Основные детали

Этот раздел включает в себя:

  • Общий
  • Конфиденциальность, доступ и ресурсы
  • График
  • Подсчет очков и команды

При запуске конкурса мы рассмотрели разделы «Общие» и «Конфиденциальность».

График

Дата окончания конкурса зависит от часового пояса.

7141f4aea90bccb0.png

Подсчет очков и команда

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

5efb6387612db941.png

Изображений

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

6dfd442376a1c702.png

Хозяева

Здесь вы можете добавить других пользователей Kaggle в качестве хостов для своих соревнований. Другие хосты будут иметь полный доступ (включая запуск) к вашим конкурентам.

8f8c90eb6baa7747.png

Метрика оценки

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

Оценочная метрика

Это определяет, как отправленная работа будет оцениваться по сравнению с файлом решения. Для каждой метрики имеется документация и фактический код.

Файл решения

Поскольку мы используем сгенерированный конкурс, этот файл уникален для вашего конкурса!

89fa1f42d177505a.png

Выборка решений позволяет вам настроить объем файла решения, который используется для оценки заявок во время конкурса (публичная таблица лидеров), по сравнению с количеством строк, используемых для определения окончательной таблицы лидеров. Во время конкурса пользователям будет разрешено выбирать (в зависимости от настройки «Оцененные частные заявки»), какие из их работ будут использоваться для итоговой таблицы лидеров (здесь она называется «Частная таблица лидеров»).

Этот процесс гарантирует, что участники не будут вознаграждены за переоснащение или наводнение материалами.

Представления в песочнице

Это позволяет организаторам соревнований гарантировать, что оценка работает так, как ожидалось, и позволяет им устанавливать «эталонные» материалы для сравнения с конкурентами. Эти тестовые материалы появятся в таблице лидеров.

Команды и материалы

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

Контрольный список запуска

Об этом будет рассказано в следующем разделе!

5. Запуск конкурса

50b03df072c02e6a.png

В верхней части страницы конкурса нажмите кнопку «Запустить контрольный список».

Контрольный список запуска

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

938b9ed7bc4e0597.png

Установить крайний срок

Сначала нажмите стрелку рядом с надписью «Установить крайний срок». Соревнования обычно длятся минимум пару месяцев. Максимальная продолжительность конкурса – один год.

Редактировать правила

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

Запуск

Мы готовы к запуску! Давай, начни свое соревнование! Теперь вы готовы к присоединению конкурентов!

6. Опыт конкурентов

Теперь, когда вы запустили соревнование, давайте посмотрим, как выглядит его опыт. Мы расскажем о том, как присоединиться к конкурсу и подать заявку. Для этого вы можете присоединиться к конкурсу демо-конкурсов Google IO здесь: https://www.kaggle.com/competitions/google-io-demo-competition.

Присоединяюсь к конкурсу

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

Делаем свою первую подачу

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

Сначала мы прочитаем данные в поезде и проверим.

# прочитать данные теста и тренировки

поезд = pd.read_csv('/kaggle/input/google-io-demo-competition/train.csv')

test = pd.read_csv('/kaggle/input/google-io-demo-competition/test.csv')

Давайте посмотрим на данные.

# взгляните на некоторые данные

поезд.голова()

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

 # исключить результаты из тестовых данных

data = train.drop(columns=['Возраст', 'Пол'])

ответы = поезд['Возраст']

Затем создаем модель. В данном случае мы создаем случайную модель леса.

# импорт для модели

из sklearn.model_selection импорт train_test_split

из sklearn.ensemble импортировать RandomForestRegressor

из sklearn.metrics импортируйтеmean_absolute_error

модель = RandomForestRegressor()

#обучаем модель

model.fit(данные, ответы)

Создайте подачу:

predictions = model.predict(test.drop(columns=['Sex']))

submit = pd.DataFrame({'id': test['id'], 'Age': прогнозы})

submit.to_csv('submission.csv', index=False)

Затем вы можете подать заявку на участие в конкурсе, выбрав «Отправить на конкурс» в меню справа.

1cf17449cae53abe.png

Советы по проведению хороших соревнований

  1. Обязательно приложите начальную записную книжку, в которой делается базовая заявка.
  2. Поощряйте использование обсуждений и обмен блокнотами на ранних этапах соревнований.
  3. Веселиться!