Przejdź do treści

No free lunch Введение в участие в соревнованиях по анализу данных на платформе Kaggle Хабр

    Кроме того, предлагается бесплатный инструмент для учителей информатики для проведения академических соревнований по машинному обучению (Kaggle In Class). Работа в команде — отличный способ учиться у опытных дата-сайентистов. Найти «сообщников» можно в чатах, комьюнити и пабликах, посвящённых Data Science, среди одногруппников по курсам или прямо на форумах Kaggle. В жизни приходится побеждать всех — включая самого себя и своё предыдущее решение.

    • Постановка самой задачи соревнования простая — создать систему, предсказывающую популярность питомца по его фотографии.
    • В этом случае у нас все данные с соревнования, но мы также можем подключить другие данные с Kaggle или загрузить свои.
    • В реальном Data Science они могут быть простыми, да и бизнес диктует требование выбирать более лёгкие задачи с быстрым результатом.
    • Featexp также помогает определить относительную важность того или иного признака.
    • Закоммитив notebook, мы сможем получить доступ к любым прогнозам, сделанным нашей моделью, и подать их на оценивание.

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

    Unraveling Kaggle: глубокое погружение в соревнования по науке о данных и их влияние на здравоохранение

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

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

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

    Общий план участия в соревнованиях

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

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

    Резкий подъем в топ 0.3% на приватной выборке точно ощущался как праздник — вера в свою валидацию в финале окупилась с лихвой. Для стабилизации кросс-валидации я сделал большое число фолдов (10) и стратифицировал их по таргету. Даже в условиях подмены задачи максимизация хорошей валидации всегда некоторый safe bet.

    📊 Kaggle за 30 минут: практическое руководство для начинающих

    Понять это получилось потому, что на некотором временном промежутке таргет большинства активов вел себя нестабильно, и длительность этой нестабильности совпадала с длительностью турбулентности на Китайском рынке акций в период с 2015 по 2016 годы. В пункте 7.С правил соревнования было написано прямым текстом, что публичные внешние данные (т.е. различные микро- и макрофинансовые показатели + другая общедоступная информация) можно использовать. После применения логистической регрессии, мы можем сохранить результат в csv-файл для отправки. Когда notebook закоммичен, любые выходные файлы появятся на вкладке Output в Versions.

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

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

    Пример простейшей модели — логистическая регрессия

    Однако, прежде чем мы полностью перейдём к этапу моделирования, важно понять показатель производительности для соревнований. В соревновании Kaggle всё сводится к одному числу — метрике по тестовым данным. Как только мы разобрались с данными и проблемой, мы можем начать структурировать задачи машинного обучения. Это подразумевает работу с категориальными переменными (через one-hot encoding), заполнение пропущенных значений (imputation) и масштабирование переменных в диапазоне. Мы можем проводить анализ исследовательских данных, например поиск закономерности с ярлыком, и отрисовывать такие закономерности.

    Featexp также помогает определить относительную важность того или иного признака. Но большинство единиц EXT_SOURCE_1 сосредоточено в специальном бине значений, что означает, что https://deveducation.com/ признак почти одинаков для большинства клиентов и, следовательно, не может хорошо их дифференцировать. Это говорит о том, что признак может быть не так важен, как DAYS_BIRTH.

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

    Объедините ваши обучающий и тестовый наборы данных в один большой набор2. Установите целевую переменную всех строк обучающих данных на значение 03. Введите значение 1 для целевой переменной во всех строках тестовых данных4. Создайте стратифицированные выборки из данных (мне нравится использовать реализацию sklearn)5.

    Учитывая то, какая перед нами стояла задача, можно справедливо отметить, что перед началом соревнования многие (в том числе и организаторы соревнования) возлагали большие надежды на deep learning. Ведь действительно, DL модели зачастую оказывались намного лучше, чем модели использующие сотни ручных фичей (а именно такая модель использовалась на тот момент в Quora). Нам очень важно знать, если распределение дубликатов в тестовой выборке существенно отличается, так как используемая в данной задаче метрика качества сильно от неё зависит и очень чувствительна к её изменению. Например, если модель будет сомневаться, к какому классу отнести какой-нибудь пример, то она скорее всего отметит его как не дубликат просто потому, что в выборке, на которой эта модель обучалась, не дубликатов было значительно больше чем дубликатов.

    © 2023 Inicjatywa Tyska Wszelkie prawa zastrzeżone.