1. Введение

Последнее обновление: 10.05.2024
Что такое Kaggle?
Kaggle — крупнейшее сообщество в области искусственного интеллекта и машинного обучения, идеальная платформа для энтузиастов в области науки о данных и машинного обучения всех уровней, позволяющая им совершенствовать свои навыки и осваивать новейшие методы и технологии. Откройте для себя обширную базу данных, блокнотов и предварительно обученных моделей, чтобы начать свой следующий проект. Участвуйте в соревнованиях, проходите курсы и общайтесь с разнообразным сообществом, насчитывающим более 18 миллионов пользователей со всего мира. Независимо от того, новичок вы или опытный профессионал, Kaggle — это место, где вы можете отточить свои навыки, оставаться в курсе последних тенденций и сотрудничать над передовыми проектами.
Что вы построите
В этом практическом занятии вы создадите, настроите и запустите соревнование на Kaggle. Вы познакомитесь с процессом участия в соревновании и узнаете о лучших практиках проведения увлекательных соревнований.
Что вы узнаете
- Разберитесь, как создавать и управлять соревнованиями Kaggle со стороны организатора.
- Освойте работу с конкурентами, от изучения информации до подачи заявки.
- Узнайте о лучших практиках проведения увлекательных конкурсов.
Данный практический урок посвящен быстрому созданию соревнований и использует постоянно пополняющуюся библиотеку конкурсов Kaggle.
Что вам понадобится
- Современный веб-браузер
- Базовые знания Python.
2. Настройка
Создайте учетную запись Kaggle
Зайдите на сайт Kaggle (https://www.kaggle.com/) и нажмите «Зарегистрироваться», чтобы создать бесплатный аккаунт.
Подтвердите свою учетную запись
- В правом верхнем углу страницы нажмите на изображение своего профиля.
- Нажмите «Ваш профиль»
- Нажмите на кнопку «Настройки» в правой части страницы с содержимым профиля.
- В разделе «Подтверждение по телефону» следуйте инструкциям для подтверждения вашей учетной записи.
3. Создание вашего первого конкурса
Представляем шаблоны для конкурсов, созданные с помощью ИИ.
Функция AI Generated Competitions — это новая возможность на Kaggle, позволяющая пользователям быстро и легко создавать соревнования по машинному обучению. Она использует ИИ для генерации синтетических наборов данных, имитирующих статистические свойства существующих наборов данных, но не содержащих никакой личной информации.
Вот как это работает:
- Выберите шаблон : выберите из списка шаблонов, соответствующих различным задачам машинного обучения (например, классификация, регрессия).
- Искусственный интеллект генерирует набор данных : ИИ Kaggle создает новый набор данных для вашего соревнования на основе выбранного вами шаблона. Этот набор данных похож на исходный, но использует подмножество признаков и имеет немного другое распределение признаков.
- Настройте свой конкурс : введите основные данные, такие как название конкурса, описание и сроки. Вы также можете выбрать настройки конфиденциальности для своего конкурса.
- Запуск : После согласования деталей и определения даты запуска вы готовы запустить свой конкурс.
Эта функция упрощает процесс создания соревнований, делая его доступным для большего числа пользователей и позволяя им сосредоточиться на аспектах машинного обучения, а не на подготовке наборов данных.
Создать конкурс
Перейдите по ссылке https://www.kaggle.com/competitions/new и выберите «Новый конкурс, созданный с помощью ИИ».

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

Укажите описательное название и подзаголовок. Например, вы можете использовать «Тестовый конкурс крабов от <Ваше имя>» в качестве названия и «Создаю свой первый конкурс, чтобы посмотреть, как он работает» в качестве подзаголовка. Обратите внимание, что URL-адрес конкурса заполняется автоматически на основе названия.
Видимость и доступ
Теперь нам нужно установить параметры видимости и доступа для этого конкурса.
Видимость
- Публичный : Ваш конкурс виден всем пользователям Kaggle. Он будет отображаться в результатах поиска, поэтому любой желающий сможет присоединиться.
- Приватный режим : Ваши соревнования скрыты от публичного просмотра. Они не будут отображаться в результатах поиска, и участвовать смогут только те, кого вы специально пригласите.
Кто может присоединиться?
- Любой : Это как политика открытых дверей. Любой пользователь Kaggle может присоединиться к вашему соревнованию.
- Только для тех, у кого есть ссылка : Это более эксклюзивный вариант. Вы сгенерируете специальную ссылку, и присоединиться смогут только те, у кого она есть.
- Ограниченный список рассылки : это наиболее контролируемый вариант. Вы предоставляете список конкретных адресов электронной почты или доменов (например, @yourschool.edu), и присоединиться могут только люди, имеющие эти адреса.
Подробнее о настройке « Включить блокноты и модели» мы поговорим позже. А пока убедитесь, что она включена. Для нашего примера конкурса установите эти настройки на «Частный» и «Только для тех, у кого есть ссылка».
Ознакомьтесь с условиями, примите их и нажмите « Создать конкурс ».
4. Понимание и анализ конкурентной среды
За кулисами мы создали совершенно новый конкурс с уникальным набором данных. Давайте быстро рассмотрим настройки конкурса.
Вкладка "Хост"
Вкладка «Хост» содержит все необходимое для правильной настройки вашего соревнования. В частности, обратите внимание на список страниц справа:

Основные сведения
В этот раздел входят:
- Общий
- Конфиденциальность, доступ и ресурсы
- Хронология
- Счет и команды
При запуске конкурса мы рассмотрели разделы «Общие положения» и «Политика конфиденциальности».
Хронология
Дата окончания конкурса учитывает часовой пояс.

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

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

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

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

Функция «Выбор решений» позволяет регулировать объем файла решения, используемого для оценки работ во время соревнований (публичная таблица лидеров), по сравнению с количеством строк, используемых для определения итоговой таблицы лидеров. Во время соревнований пользователи смогут выбирать (на основе настройки «Оцениваемые частные работы»), какие из их работ будут использованы для итоговой таблицы лидеров (здесь она называется «Частная таблица лидеров»).
Этот процесс гарантирует, что участники соревнований не будут получать награды за чрезмерное обучение или заваливание их работами.
Заявки в песочницу
Это позволяет организаторам соревнований убедиться в том, что система подсчета баллов работает должным образом, и позволяет им устанавливать «эталонные» работы для сравнения с результатами участников. Эти эталонные работы будут отображаться в таблице лидеров.
Команды и заявки
Во время соревнований это позволяет организаторам загружать все результаты, а также управлять командами. До начала соревнований это поле пустое.
Контрольный список запуска
Это будет рассмотрено в следующем разделе!
5. Запуск вашего конкурса
В верхней части страницы конкурса нажмите кнопку «Контрольный список запуска».
Контрольный список запуска
Контрольный список для запуска конкурса содержит необходимые шаги, которые нужно предпринять перед его проведением. Поскольку мы уже использовали шаблон конкурса, большинство этих шагов уже выполнены! Осталось выполнить всего две задачи: установить крайний срок и обновить правила конкурса.

Установить крайний срок
Сначала нажмите на стрелку рядом с кнопкой «Установить крайний срок». Конкурсы обычно длятся не менее пары месяцев. Максимальная продолжительность конкурса — один год.
Редактировать правила
Перед запуском конкурса необходимо обновить правила, используя шаблон по умолчанию. Если вы проводите этот конкурс для класса или группы, это хорошее место для размещения информации об ожиданиях.
Запуск
Мы готовы к запуску! Смело запускайте свой конкурс! Теперь вы готовы к тому, чтобы к вам присоединились участники!
6. Опыт конкурентов
Теперь, когда вы запустили свой конкурс, давайте посмотрим, как выглядит процесс участия. Мы рассмотрим, как присоединиться к конкурсу и отправить заявку. Для этого вы можете присоединиться к конкурсу Google IO Demo Competition здесь: https://www.kaggle.com/competitions/google-io-demo-competition
Вступление в соревнование
Перейдя на главную страницу конкурса, нажмите кнопку «Принять участие в конкурсе» в правом верхнем углу, затем ознакомьтесь с правилами и подтвердите свое согласие.
Ваша первая заявка
Перейдите на вкладку «Код» и нажмите «Новая записная книжка». Откроется записная книжка, которая позволит вам отправить заявку на участие в конкурсе.
Сначала мы загрузим обучающие и тестовые данные.
# чтение тестовых и обучающих данных
train = pd.read_csv('/kaggle/input/google-io-demo-competition/train.csv')
test = pd.read_csv('/kaggle/input/google-io-demo-competition/test.csv')
Давайте посмотрим на данные.
# взгляните на некоторые данные
train.head()
Давайте подготовим данные для обучения. В данном случае мы исключаем поле «Пол», поскольку это не числовое значение. (Подсказка: если вы поймете, как включить это поле, это улучшит производительность вашей модели).
# удалить результаты из тестовых данных
data = train.drop(columns=['Age', 'Sex'])
ответы = train['Возраст']
Затем мы создаём модель. В данном случае мы используем модель случайного леса.
# импортов для модели
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_absolute_error
model = RandomForestRegressor()
# обучить модель
model.fit(data, answers)
Создать заявку:
predictions = model.predict(test.drop(columns=['Sex']))
submission = pd.DataFrame({'id': test['id'], 'Age': predictions})
submission.to_csv('submission.csv', index=False)
Затем вы можете отправить заявку на участие в конкурсе, выбрав пункт «Отправить на конкурс» в меню справа.

Советы по проведению успешного конкурса
- Обязательно приложите стартовый блокнот для базовой подачи заявки.
- Поощряйте использование дискуссий и обмен рабочими тетрадями на ранних этапах конкурса.
- Веселиться!

