Ключевые инструменты data science для повышения эффективности анализа данных
Бизнес все чаще прибегает к инструментам data science для увеличения прибыли, а необходимых для этого инструментов на рынке становится все больше и больше. Посмотрим на основные инструменты, которыми пользуются практики.
Бум в data science не прекращается. Когда-то работа по сбору и анализу данных была уделом узкоспециализированных ученых в лабораториях. Теперь же каждая компания хочет использовать возможности data science для оптимизации и для того, чтобы максимально угодить клиентам.
Мир инструментов data science разрастается в ответ на увеличение такого спроса. Не так давно специалисты по анализу данных работали с командной строкой и несколькими хорошими программами с открытым исходным кодом. А сейчас компании уже сами часто создают надежные, профессиональные инструменты, которые справляются со многими типовыми задачами, такими как, например, очистка данных.
Меняется также и масштаб задач. Когда-то для дата саентистов всё сводилось лишь к обработке экспериментальных данных. Теперь это лишь малая часть работ. Например, компании сейчас полноценно используют математический анализ для своих отчетностей и строят дашборды, которые позволяют быстро понять, что происходит с бизнесом.
Ускоряются и темпы. Аналитическая работа, которая раньше выполнялась на ежегодной или ежеквартальной основе, теперь проводится в режиме реального времени. Компании хотят знать, что происходит прямо здесь и сейчас, чтобы менеджмент и рядовые сотрудники могли принимать эффективные решения.
Ниже представлены некоторые из инструментов, которые помогают во всей этой деятельности.
Jupyter Notebook
Переплетение слов, кода и отображения данных стали lingua franca в мире data science. Статические pdf-файлы, содержащие неизменяемую аналитику и контент, конечно, все еще имеют место быть, но специалисты при помощи Jupyter Notebook могут делать значительно больше этого.
Первоначальные версии ноутбуков создавались пользователями языка программирования Python, которые хотели привнести в них некоторую гибкость системы Mathematica. Сегодня стандартный Jupyter Notebook поддерживает более 40 языков программирования, среди них часто можно встретить R, Julia или даже Java и C.
Сам Jupyter Notebook является приложением c открытым исходным кодом, благодаря чему становится возможной реализация огромного количества крупных проектов, исследовательских работ или просто обмен идеями. В некоторых университетах проводятся занятия с использованием ноутбуков. А специалисты по data science с их помощью могут наглядно представлять информацию. А еще есть JupyterHub, который представляет собой контейнерезированный сервер с проверкой подлинности, на котором могут быть размещены любые работы так, что другим пользователям не нужно будет устанавливать и поддерживать программное обеспечение на своем ПК или беспокоиться о масштабировании вычислительных мощностей.
Сервисы для работы с Jupyter Notebook
Jupyter Notebook не работает сам по себе. Ему необходим сервер, где хранятся и рассчитываются данные. На сегодняшний день некоторые компании предлагают такую поддержку, иногда в качестве пиар-целей, а иногда за символическую плату. Среди наиболее известных: Colab от Google, Codespaces от GitHub, Azure Machine Learning Lab, Binder и Datalore, но можно использовать и локальный сервер.
Несмотря на то, что базовые возможности каждого из этих сервисов схожи, существуют и некоторые различия, которые могут оказаться важными. Большинство из них поддерживают Python, а дальше начинаются различия. Azure Notebooks от Microsoft, например, также поддерживает язык F#, разработанный Microsoft. Colab от Google поддерживает Swift. Существует также ряд отличий в меню и других неосновных функциях.
RStudio
Язык программирования R был разработан статистиками и дата-саентистами для оптимизации загрузки массивов данных и последующего применения различных алгоритмов для их анализа. Некоторые предпочитают запускать R непосредственно из командной строки, но многим для выполнения большой части задач нравится использовать RStudio — интегрированную среду разработки (Integrated Development Environment, IDE).
Это ПО с открытым исходным кодом, которое позволяет исследовать данные, работать с кодом, а затем и создавать различные графики. RStudio отслеживает историю ваших вычислений, чтобы вы могли откатиться назад или повторить команды, и поддерживает инструменты отладки. При необходимости в RStudio можно запустить и Python.
Компания RStudio также постоянно добавляет новые функции для пользователей, которые хотели бы совместно поработать над общим массивом данных, например, версионирование, синхронизацию и прочее.
Sweave и Knitr
Специалисты по работе с данными, которые пишут свои статьи в LaTeX, оценят многогранность Sweave и Knitr — двух пакетов, разработанных с целью интеграции возможностей по обработке данных на R или Python с элегантностью форматирования TeX. Цель — создание единого пайплайна по превращению данных в письменные отчеты с графиками, таблицами и диаграммами.
В рамках этих пайпланов, работы становятся гибкими и динамичными. При любом изменении данных графики и таблицы так же корректируются.
Интегрированные среды разработки
Томас Эдисон однажды сказал, что гений — это 1% вдохновения и 99% пота. Зачастую складывается такое впечатление, что 99% data science — это очистка данных и подготовка их к анализу. IDE являются хорошим плацдармом для этих действий, поскольку они поддерживают основные языки программирования, такие как C#, а также некоторые языки, более ориентированные непосредственно на data science, такие как R. Пользователи Eclipse, например, могут очистить свой код на Java, а затем переключиться для анализа на R с помощью rJava.
Разработчики могут использовать PyCharm для различной автоматизации, в рамках каких-либо этапов работы с данными. А Visual Studio Code еще более гибок и поддерживает и формат Jupyter Notebook.
По мере увеличения объёма работы в сфере анализа данных некоторые компании создают low-code/no-code IDE, чтобы максимально оптимизировать процессы. RapidMiner, Orange и JASP — это лишь некоторые примеры отличных инструментов, оптимизированных под анализ данных. Они основаны на визуальных редакторах, и во многих случаях все манипуляции можно выполнить нажатием пары кнопок. Если этого вдруг недостаточно, можно и свой код написать.
Специализированные инструменты
Сегодня многие дата-саентисты специализируются в конкретных областях, например, маркетинге или логистике. Их инструменты не отстают — становятся ориентированными на конкретные сферы и оптимизированными под решение конкретных проблем.
Например, у маркетологов существуют десятки хороших инструментов, которые Customer Data Platforms (CDP). Они интегрируют каталоги товаров, рекламные сервисы и мессенджеры для создания последовательного (и зачастую непрерывного) потока данных о клиентах. Встроенная бэкенд-аналитика предоставляет всю необходимую статистику, которая требуется маркетологам для оценки эффективности своих компаний.
На сегодняшний день существуют сотни отличных узкоспециализированных платформ, которые работают на всех уровнях. Voyant, например, анализирует текстовые данные, оценивает их читаемость и ищет корреляцию между абзацами. Forecast от AWS прогнозирует временные ряды для задач бизнеса. Azure Video Analyzer извлекает аналитические сведения из видеопотоков с использованием моделей машинного обучения.
Железо
Бум технологий облачных вычислений стал счастьем для дата-саентистов. Теперь нет необходимости содержать собственное железо только лишь для того, чтобы время от времени проводить анализ. Облачные провайдеры предоставят вам мощности в тот момент и на столько времени, на сколько вам нужно. Это может быть отличным решением в случае, если вам нужен огромный объём оперативной памяти всего на один день. Однако компаниям с постоянной потребностью в аналитике может быть проще приобрести и поддерживать собственное оборудование.
Также постоянно развиваются технологии для ускорения вычислений. Сейчас активно используются графические процессоры (Graphics Processing Unit, GPU), которые до этого нужны были только для видеоигр и работы с графикой. В Google разработали тензорные процессоры (Tensor Processing Unit, TPU) именно для ускорения машинного обучения. Nvidia называет некоторые из своих чипов Data Processing Units (DPU). Некоторые стартапы, такие как d-Matrix, разрабатывают специализированное оборудование для искусственного интеллекта. В общем, сейчас ноутбуками зачастую не обойтись, нужны более сложные и специализированные инструменты. И они есть.
Данные
Железо нужно именно для работы с данными. А где эти данные взять, если нет своих? Но сейчас есть компании, которые специализируются именно на продаже структурированных данных. А некоторые игроки на рынке продают свои облачные решения, в которых предоставляется набор к широкому набору датасетов (AWS, GCP, Azure, IBM). И многие государственные структуры в разных странах предоставляют открытые данные по своей специализации. Всё это может сэкономить много времени и средств, если собственных ресурсов для сбора и очистки данных просто нет.
Источник: cio.com
Перевод и адаптация: Ирина Гарибян