PyData — конференция об анализе данных с помощью Python. Каждый аспект этого, от реализации базы данных до сверхбыстрой обработки матриц и визуализации данных, рассматривается на этой конференции. В эти выходные (12–13 марта) прошел PyData Amsterdam 2016.

Как многие из вас уже знают, доклады на конференции могут быть действительно интересными и полезными, но это не самая важная часть конференции: бесплатные стикеры. Итак, для начала:

Первый день

Одним из первых докладов выступил Фризо ван Волленховен, технический директор GoDataDriven, он был посвящен анализу больших данных с помощью данных MeetUp. Как настоящий знаток данных, он настроил сервер Jenkins, чтобы регулярно извлекать все данные MeetUp из нескольких городов из их общедоступного API, и смог идентифицировать и различать определенные группы пользователей в техническом сообществе и видеть, как они связаны. Часть своих данных он разместил в сети в записи блог.

Следующий доклад Бена Филдса меня очень заинтересовал, потому что мне нравится нестандартный анализ, казалось бы, неинтересных данных. Это выступление называлось У разгневанных людей плохая грамматика? Внимание, спойлер: ответ — нет. Но путь к этому ответу был интересным: спикер использовал гигантскую базу данных из 59 миллионов (!) комментариев Reddit и свел их к 390 тысячам полезных комментариев. Он применил умную обработку естественного языка (NLP) с использованием контекстно-свободной грамматики и инструмента под названием VADER (Словарь с учетом валентности и анализатор чувств) для анализа тональности поста и грамматической правильности поста соответственно.

После этого я пошел слушать отличный туториал от Андреса Мюллера о библиотеке машинного обучения SciKit-Learn и текущих разработках этого проекта с открытым исходным кодом. Он использовал обзоры IMDB, чтобы построить модель, которая предсказывает рейтинг этого обзора по словам в обзоре, и смог сделать это четким и понятным способом.

Заключительный блок первого дня включал в себя впечатляющее выступление Сергея Хоменко, DevOps-инженера немецкой компании по электронной коммерции одежды Stylight. Ему удалось уместить каждый аспект своей работы, от анализа в Python до выбора метода развертывания, в 45-минутный доклад. Было интересно наблюдать, как компания на неожиданном для меня рынке серьезно занималась машинным обучением и как эта компания выбирала различные варианты развертывания, начиная от локального Docker и заканчивая AWS в облаке.

Заключительным докладом этого дня стал доклад о визуализации данных от Mark Grundland. Большинство выступлений сегодня были довольно техническими, но в своем выступлении Марк затронул психологию того, как люди видят и хотят видеть информацию, основанную на данных. Его самым важным посланием было то, что аналитики данных должны начать визуализировать свои данные, исходя из ожиданий зрителя/клиента, а не просто отображать все данные.

На этом замечательном разговоре закончился первый день и остались только пиво и бургеры.

Второй день

Воскресенье началось с основной презентации Peadar Coyle под названием The PyData Stack State of the Union. Он дал отличный обзор текущего состояния некоторых менее известных, но очень хороших библиотек, доступных для помощи аналитику данных Python, включая, помимо прочего: SciKit-Learn, PyMC3, Jupyter и NumPy.

Единственный учебник в воскресенье был предоставлен Джованни Ланцани и был посвящен Pandas, библиотеке анализа данных Python для Python, которая делает всю скорость NumPy очень легкодоступной. Я всегда думал, что захочу вручную позаботиться об импорте, структурировании и маркировке своих данных, но Pandas делает это без усилий. Поэтому, если вам когда-нибудь понадобится проанализировать большие объемы данных, хранящихся в массивах, вам обязательно стоит попробовать Pandas. И еще одна причина использовать Pandas: это делает использование Matplotlib менее отстойным.

Следующим выступил Мацей Кула, который работает в Lyst, еще одной компании по производству одежды, занимающейся электронной коммерцией (с каких пор в этих компаниях происходят интересные вещи?!). Он рассказал о LightFM, инструменте машинного обучения, использующем гибридный подход: он добавляет пользователей и метаданные к традиционному алгоритму матричной факторизации. Добавляя метаданные, вновь добавленные продукты могут сразу извлечь выгоду из уже существующих знаний в модели.

В конце дня Маргарет Махан, вычислительный биолог, сделала интересный доклад об использовании файлового формата HDF5 для хранения данных. Мне очень понравился этот доклад, потому что большинство текущих разработок касаются больших данных, которые могут быть обработаны только специализированными структурами баз данных, но большинство анализов на самом деле выполняются на небольших наборах данных и обрабатываются людьми, которые не хотят беспокоиться об управлении системой баз данных. . HDF5 и его библиотека Python h5py, предлагая структурированный, переносимый, кросс-платформенный формат файла, который также довольно быстр.

Конференция завершилась часом Lightning Talks: короткие 5-минутные доклады на самые разные темы: от Amazon Lambda до мониторинга трафика в Twitter, от анализа медицинских изображений до более философской презентации о разрыв, который существует между разработчиками программного обеспечения и учеными данных. Концепция этих очень коротких докладов сработала очень хорошо, потому что продолжительность концентрации внимания посетителей в конце конференции очень коротка, и, кроме того, это дало некоторым людям, которые в противном случае не выступили бы на конференции, возможность представить свои идеи.

Запоздалые мысли

Самое приятное в подобных конференциях то, что после конференции у вас есть список инструментов или методов, которые вы хотите освоить или использовать чаще. Вот мой список:

  • SciKit-Learn
  • Панды
  • Юпитер
  • Амазонка Лямбда

Как бэкенд-разработчик Python/Django в Elements, я не занимаюсь ежедневным анализом данных, но я думаю, что эти новые идеи, тем не менее, применимы к моей сфере деятельности:

  • Python делает анализ данных очень простым.
  • Django делает веб-разработку очень простой.
  • Эта комбинация делает анализ данных в Интернете действительно простым.

Расширенный анализ (например, данных о клиентах на веб-сайте электронной коммерции) может быть реализован параллельно с вашей стандартной кодовой базой Django. Любую библиотеку анализа для Python можно сразу же использовать в веб-приложении. Я обязательно попытаюсь реализовать это в своем коде в ближайшем будущем!

Один последний урок о науке о данных, чтобы закончить эту запись в блоге: как добиться уважения от специалиста по данным:

  • Шаг 1. Небрежно упомяните «Байесовское машинное обучение» в разговоре.
  • Шаг 2: Готово ;)

Все выступления на конференции записываются и выкладываются на YouTube.

— — —
Обновление от 30 марта 2016 г.: добавлены выступления на YouTube.

Первоначально опубликовано на сайте www.elements.nl 15 марта 2016 г.