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 не охватывает все аспекты рабочего процесса обработки данных и аналитики. Это не инструмент для разработки систем производственного уровня или хранения/управления всем кодом и артефактами. Тем не менее, это практический инструмент для совместной работы, с помощью которого маркетологи могут получить доступ к соответствующим наборам данных, изучить их и получить идеи для ускоренного анализа.

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




Источники

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

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