eFusion 03 октября 2020

🥇 Осваиваем Python и машинное обучение с помощью Kaggle

Kaggle – это среда ML и сообщество специалистов по Data Science, предлагающее соревнования, датасеты, облачные инструменты и доступ к базе знаний.
🥇  Осваиваем Python и машинное обучение с помощью Kaggle

Перевод публикуется с сокращениями, автор оригинальной статьи Davide Camera.

***

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

  • поиск надежных источников клиентских и маркетинговых данных;
  • обмен идеями и примерами кода;
  • налаживание эффективного сотрудничества с коллегами по проекту;
  • применение машинного обучения и ИИ в проектах маркетинговой аналитики.

Соревнования

Существует пять категорий конкурса Kaggle:

  1. Getting Started – для новых пользователей. За участие не выдаются призы или очки.
  2. Playground – награды варьируются от рейтинга до небольших денежных призов.
  3. Featured competitions – полномасштабные задачи машинного обучения, создающие сложные проблемы прогнозирования, часто коммерческой направленности. Такие состязания привлекают серьезные команды и предлагают крупные призовые фонды.
  4. Research competitions – задачи с экспериментальной «ноткой», более творческие, чем Featured. Здесь обычно не предлагают призы, очки или рейтинг.
  5. Recruitment competitions – соревнование в создании ML-моделей для задач крупных корпораций. Часто призом является собеседование и трудоустройство.

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

🥇  Осваиваем Python и машинное обучение с помощью Kaggle

Комьюнити и обучение

Kaggle регулярно проводит форумы (feedback, Q&A, datasets) и двухчасовые микрокурсы (Python, ML, визуализация данных, Pandas, feature engineering, deep learning, SQL и т.д).

Участие в сообществе полезно для изучения Data Science и получения доступа к стандартным датасетам, однако это не замена платных облачных сервисов обработки данных или проведения анализа.

🥇  Осваиваем Python и машинное обучение с помощью Kaggle

Датасеты и релевантные данные

Kaggle содержит 50 тысяч наборов данных, связанных по большей части с маркетингом, e-commerce и продажами. Аналитики могут получить к ним доступ и проанализировать в своих браузерах.

Информация представлена в форматах: CSV, JSON, SQLite, ZIP, 7z, есть даже размещенные на серверах Google многотерабайтные наборы BigQuery-наборы.

Существует несколько способов поиска наборов данных Kaggle:

  • На домашней странице Kaggle вы найдете список “горячих” наборов и наборов данных, загруженных людьми, за которыми вы следите.
  • На странице Kaggle datasets есть упорядоченный по “самым горячим” список наборов данных.
  • На странице с тегами, например: https://www.kaggle.com/tags/covid-19.
  • Пользователь может создавать публичные и частные датасеты на Kaggle с локальной машины, URL-адресов, репозиториев GitHub и данных Kaggle Notebook.

Легче и быть не может:

  1. Подключитесь к kaggle.com;
  2. найдите раздел «datasets» в верхней части страницы;
  3. введите ключевое слово для поиска;
  4. сканируйте результаты, просматривайте оценки качества набора данных, оценки заинтересованности и краткие описания;
  5. выберите подходящий набор данных.

Теперь разберемся, как найти релевантные маркетинговые анализы.

  1. После выбора набора данных обратите внимание, что с ним связано несколько независимых Notebooks (они рассматриваются далее более подробно).
  2. Каждый Notebook представляет собой анализ, включающий описание, код и выходные данные: визуализации и таблицы данных со сводной статистикой.
  3. Выберите тот, который имеет наибольшее количество голосов и одобрение сообщества.
  4. Если анализ представляет большой интерес, можно его форкнуть в Notebook, создав копию кода и данных.
  5. Запустите сценарий или внесите изменения, создав свою версию. Интересным вариантом является замена исходных авторских данных собственным набором перед выполнением кода.
🥇  Осваиваем Python и машинное обучение с помощью Kaggle

Notebooks

Kaggle поддерживает три типа блокнотов (notebooks):

  • скрипты;
  • скрипты RMarkdown;
  • блокноты Jupyter.

Скрипты – файлы, которые выполняют весь код последовательно. Блокноты можно писать на языке программирования R или на Python. R-кодеры и представляющие код для соревнований люди часто используют скрипты, а программисты Python и специалисты, занимающиеся исследовательским анализом данных, предпочитают Jupyter.

Notebooks могут иметь бесплатные ускорители GPU (Nvidia Tesla P100) или TPU и использовать сервисы Google Cloud Platform, но существуют квоты – 30 часов GPU и TPU в неделю.

Если нет потребности ускорить глубокое обучение, GPU/TPU не нужны. Использование сервисов Google Cloud Platform может повлечь начисление платы, если превышен лимит бесплатного уровня.

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

🥇  Осваиваем Python и машинное обучение с помощью Kaggle

Облачная интеграция: доступ к Google Cloud tech

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

Это стало возможным благодаря интеграции Kaggle с BigQuery, BigQuery ML и Google Data Studio. Существует также интеграция с Google Sheets и новейшая – с Google AutoML. Есть шанс, что появится больше интеграций, поскольку Kaggle теперь является частью Google Cloud.

Public API

Помимо создания и запуска интерактивных блокнотов можно взаимодействовать с Kaggle через командную строку с локального компьютера, который вызывает публичный API Kaggle. Для установки Kaggle CLI потребуется менеджер пакетов pip из Python 3, а также аутентификация машины с помощью загруженного с сайта Kaggle токена.

Kaggle CLI и API могут взаимодействовать в соревнованиях, датасетах и блокнотах (ядрах). Код API открыт и размещен на GitHub, если появились вопросы по работе с ним – прочтите содержащий полную документацию файл README.

Machine Learning и AI

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

AutoML, который теперь доступен на Kaggle, может сэкономить огромное количество времени, потраченного на разработку и тестирование модели вручную. Это не будет (пока) полностью автоматическое “ИИ по нажатию кнопки” – маркетолог должен понимать основы процесса.

Начните же!

Изучите наборы данных и способы их анализа сообществом Kaggle. Попробуйте использовать набор данных Google Analytics и блокноты анализа для прогнозирования доходов или набор данных оптимизации конверсий с анализом ROI для маркетинговых кампаний Facebook.

Заключение

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

Дополнительные материалы по теме




Источники

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
AppSec Business Partner
по итогам собеседования
Backend Lead (Python, Django)
по итогам собеседования

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