Toggle navigation

Kaggle как начать соревноваться



В целом еще очень рекомендую в том же режиме, что описан в статье, просмотреть цикл видео mltrainings — много интересных подходов и техник. Автор вообще готов высказать крамольную мысль, что для табличных данных и нормально сделанного пайплайна финальный сабмит на любом соревновании должен влетать в топ-100 лидерборда. Естественно есть исключения, но в целом данное утверждение, похоже, что верно. Если надо собрать другой датасет — меняем pickle_list, перезагружаем, и работаем с новым датасетом. В остальных случаях — основные данные хранятся в hdf/feather, что-то маленькое (типа набора выбранных атрибутов) — в CSV.

kaggle соревнования

Основой моего решения стали Swin-трансформеры, позже также добавились и ViT-варианты. А вот с Beit, который очень хвалили другие участники, мне что-то так и не удалось подружиться. Найти правильный подход обучения и уместить всё в разумные рамки времени и памяти оказалось сложной задачей. Как и многие другие, для работы со всеми SOTA моделями я использовал Pytorch и замечательную библиотеку timm — она содержит почти все лучшие модели и предобученные чекпойнты в открытом доступе.

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

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

kaggle соревнования

Нет, как решать задачу — понятно, какие алгоритмы применять — тоже понятно, но вот код пишется очень тяжело, с поминутным заходом на хелп sklearn / pandas, и т.д. Почему так — нет наработанных пайплайнов и ощущения кода “на кончиках пальцев”. Соревнования Kaggle в области здравоохранения — это не только получение призов. Речь идет об использовании коллективного разума мирового сообщества специалистов по обработке и анализу данных для улучшения результатов здравоохранения, снижения затрат и повышения доступности и эффективности здравоохранения. В этом конкурсе задача состояла в том, чтобы идентифицировать меланому на изображениях поражений кожи. Конкурс, организованный Обществом информатики изображений в медицине, был направлен на создание модели, которая могла бы повысить точность обнаружения меланомы, что потенциально может привести к более раннему и более эффективному лечению пациентов.

Входные данные

Данная компания специализируется на инвестициях и торговле на финансовых рынках, соответственно и само соревнование было финансовым, т.е. На основе имеющихся данных для каждого актива (акция, криптовалютный токен, фиатная валюта и т.д.) надо было предсказать значения одного из его показателей (цена, доход, прибыль и т.д.) в течение определенного периода в будущем. Обычно нам нравится kaggle соревнования делать наивное базовое предсказание, но в этом случае мы уже знаем, что случайные догадки по задаче будут равны 0,5 по ROC AUC. Поэтому для нашей модели мы будем использовать несколько более сложный метод — логистическую регрессию. Это популярный простой алгоритм для задач бинарной классификации, который поможет установить низкий порог для прохождения будущими моделями.

kaggle соревнования

Участники платформы выкладывают самый разнообразный контент — от EDA-задач (Exploratory Data Analysis, он же подробный разбор) с соревнований до простых методов, которые дают возможность оптимизировать собственный код. Для того, чтобы рисерчеры могли тестировать свои торговые идеи, им нужны исторические данные торгов. Поэтому мы аккуратно сохраняем данные и по-умному готовим их для отдела исследований. Так как данных приходит очень много и все они в разных форматах, у нас есть внутренний пайплайн, который приводит данные к единому стандарту компании.

Литература[править править код]

Тем не менее, лучшее решение на Kaggle не гарантирует лучшее решение проблемы бизнеса. Пример этого соревнования показывает, что нужно быть очень внимательными и рассудительными во время подготовки данных для обучения моделей. Ведь если те особенности датасета, которые мы описали, являются искусственными https://deveducation.com/ и не характерны для всей базы Quora, то все решения, которые предоставили участники соревнования, не будут работать в реальной жизни. Это соревнование также показало, что важно сохранять широкий взгляд на проблему, видеть различные способы улучшения модели и оставаться открытыми к новым идеям и подходам.

Для упрощения предположим, что мы смотрим на структурированные данные. Функция get_trend_stats() в featexp возвращает таблицу с корреляцией тренда и изменением каждого признака. Вы попробуете силы в аналитике данных, машинном обучении, дата-инженерии и подробно изучите направление, которое нравится вам больше. Отточите навыки на реальных проектах и станете востребованным специалистом. Обучение на практике — один из лучших методов освоить любую отрасль знаний. А Kaggle — это в первую очередь прекрасная возможность попрактиковаться в решении задач, и лишь во вторую — денежные призы.

Про соревнование

Неудивительно, что экстраординарный Gradient Boosting Machine (использовалась библиотека LightGBM) отработал лучше всего. Последняя вкладка Versions позволяет посмотреть предыдущие коммиты. Мы можем смотреть изменения в коде, просматривать лог-файлы запуска, видеть notebook, сгенерированный при запуске, и загружать выходные данные прогона. Воспользуйтесь преимуществом их опыта и постарайтесь быть активным участником сообщества!

Узнать больше о работе нашей команды можно в Телеграм-канале Нескучный Data Science — кстати говоря, один раз и я писал туда пост. Обычно, топ 10% соревнования — бронзовая медаль, топ 5% — серебро, а лучшие (~топ 0.7%) участников получают золото. На самом деле, такой подход приводит как раз к тем ситуациям, когда «упал на 800-е место с 8-го». Как было описано выше, чтобы получить действительно хорошее решение, требуется задумываться о физическом смысле самой задачи и много креативить.

Что есть на Kaggle?

В таких соревнованиях нет призового фонда и ограничений по датам, но по структуре они аналогичны Kaggle-соревнованиям с призами. А ещё по ним написано множество подробных руководств — это бесценно для начинающего дата-сайентиста. Самые популярные языки в Data Science и Kaggle-сообществе — Python и R. Если вы начинаете с нуля, то выберите Python, это универсальный язык, он поможет в решении самых разных задач. Для начала можно прочитать нашу статью про Python-минимум для дата-сайентиста.

Красивая строчка в резюме про Kaggle Competition Masterа стала личным PR-аргументом и помогла пройти на стажировку в Лабораторию машинного обучения Альфа-Банка. В теории, данное решение может быть сделано даже без GPU — инференс моделей не зависит от батч-сайза, и может быть выполнен в приемлемое время на процессоре. И, естественно, оно точно выполнимо чисто на предоставляемом Kaggle железе. Это ещё один аргумент в копилку «железо не решает», хотя, конечно же, случай этого решения уникальный и очень редкий.