📊 ТОП-10 инструментов для Data Science Часть 2

📊 ТОП-10 инструментов для Data Science Часть 2

https://t.me/ai_machinelearning_big_data

Часть 1

6. Apache Zeppelin

Краткий обзор

Интерфейс Apache Zeppelin, источник: Habr.ru

Apache Zeppelin – ноутбук c web-интерфейсом, доступный пользователю как на локальном компьютере через браузер, так и на удаленном сервере. Ноутбук позволяет управлять данными, строить интерактивную аналитику и совместно работать в проектах, используя SQL, Scala, Python, R и другие языки.

Apache Zeppelin поддерживает многопользовательский режим с LDAP и конфигурируется для работы на YARN-кластере. Следствием работы поверх кластера является возможность распараллеливания вычислений, что также необходимо в работе с большими данными.

Установка

Инструкции по установке продукта можно прочитать по ссылке (англ.)

Установка потребует от пользователя базовых знаний администрирования UNIX-подобных операционных систем.

Запуск и создание файлов

Запуск Apache Zeppelin в терминале (в UNIX-подобной операционной системе):

На стартовой странице инструмента:

Notebook -> Create new note

Меню создания нового ноутбука Apache Zeppelin

Список ранее созданных ноутбуков также отражается на стартовой странице.

Список ноутбуков Apache Zeppelin

Основная рабочая зона

После запуска Apache Zeppelin перед пользователем в браузере открывается ноутбук.

Ноутбук Apache Zeppelin

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

  • %sql – для запуска SQL-скрипта;
  • %python – для запуска стандартного интерпретатора Python;
  • %python.ipython – для запуска IPython интерпретатора (рекомендуется);
  • %spark – для запуска Spark-сессии;
  • %sh – для выполнения команд оболочки (Shell);
  • и др.

Например, для вывода на экран текущей рабочей директории в ячейке необходимо выполнить код:

Для запуска IPython интерпретатора:

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

Визуализация данных встроенными средствами Apache Zeppelin

Особенности

Инструмент используется для работы с большими данными (NoSQL), так как входит в широкую экосистему Apache. Обязательным требованием является знание синтаксиса команд bash.

7. Google Collab

Краткий обзор

Интерфейс Google Collab

Google Colab представляет собой облачный Jupyter Notebook, созданный и поддерживаемый компанией Google.

Ключевое отличие от локального Jupyter Notebook – возможность запуска облачной сессии с графическим / тензорным ускорителем:

Меню -> Среда выполнения -> Сменить среду выполнения

Выбор аппаратного ускорителя Google Collab

В качестве GPU сервис предлагает 12GB NVIDIA Tesla K80, которая бесплатна для использования на ограниченное время – 12 часов за один запуск. Из одного аккаунта Google в случае использования GPU/TPU доступна только одна активная версия ноутбука. Платного тарифа для пользователей из России не предусмотрено.

Подробнее о лимитах инструмента можно прочитать по ссылке (англ.)

Левая панель инструмента содержит вкладки:

  • Содержание.
  • Найти и заменить.
  • Фрагменты кода.
  • Файлы.

Во вкладке Фрагменты кода возможен поиск по шаблонам, что может ускорить работу с типовыми операциями, например такими, как подключение Google Drive к ноутбуку:

Во вкладке Файлы реализована навигация по файловой системе виртуальной машины, в которой запущен ноутбук, а также присутствует возможность монтирования диска Google Drive для загрузки/сохранения данных:

Запуск и создание файлов

Создание ноутбука и запуск сервиса Google Colab осуществляется из сервиса Google Drive:

Ссылка на сервис.

В любой папке диска необходимо выполнить следующее действие:

Создать -> Еще -> Google Colaboratory

Перечень ноутбуков доступен в папке, в которой они были созданы.

Список ноутбуков в папке Google Drive

Также возможно создание нестандартных конфигураций ноутбуков.

Ноутбук с 35Gb RAM при использовании TPU, или 25Gb при использовании CPU\GPU доступен по ссылке.

Основная рабочая зона

В основном меню ноутбука, в разделе Инструменты доступна раскладка горячих клавиш для работы с ячейками ноутбука. В Google Colab это сочетание отличается от сочетания в Jupyter Notebook.

Горячие клавиши Google Colab

Реализована возможность добавлять ячейки в графическом режиме:

Возможность изменения порядка ячеек в графическом режиме (перетаскивание) – отсутствует. Для этого в правом верхнем углу каждой ячейки предусмотрено меню:

В остальном, работа в Google Colab схожа с работой в локальном ноутбуке Jupyter.

Особенности

Поскольку Google Colab имеет 12GB памяти в графическом ускорителе, то его целесообразно использовать для ресурсоемких исследований и вычислений, например, для обучения нейронной сети. Инструмент подходит для командной работы.

8. PyCharm Community

Краткий обзор

PyCharm Community – бесплатная среда разработки для языка программирования Python. Интегрированная среда дает возможность анализа кода, его графический отладки, и т.д. PyCharm разработана компанией JetBrains на основе IntelliJ IDEA.

Интерфейс PyCharm Community

Левая панель инструмента содержит вкладки:

  • Project.
  • Commit.
  • Pull Requests.

Вкладка Progects содержит структуру каталогов проекта, в т.ч. структуру сторонних библиотек, а также инструменты для работы с ними.

После фиксации изменений в проекте по нажатию пиктограммы в верхнем правом меню

открывается вкладка Comit, где требуется ввести сообщение к осуществляемому комиту:

Сообщения к комитам целесообразно стандартизировать в формальной логике, например, с применением соглашения Conventional Commits.

Ссылка на соглашение (англ.)

Вкладка Git PyCharm Community

При наличии предложений на изменение кода в репозитории GitHub со стороны участников проекта, все они отображаются во вкладке Pull Requests.

Нижняя панель инструментов слева содержит вкладки:

  • Git.
  • TODO.
  • Problems.
  • Terminal.
  • Python Packages.
  • Python Console.

Наиболее востребованной вкладкой является Terminal, в ней выполняются команды проекта, например:

Вкладка Терминал в PyCharm Community

Команда представляет собой запуск pipeline технологии DVC, о которой можно прочитать на сайте разработчика.

Ссылка на сайт разработчика технологии (англ.)

Установка

Основным способом распространения инструмента является бинарная дистрибьюция.

Скачать дистрибутив можно по ссылке.

Запуск и создание файлов

Существует два основных способа начала проекта.

  • Создание нового проекта. В основном меню: File -> New Project.
  • Клонирование существующего проекта через систему контроля версий. В основном меню: VCS -> Get from Version Control.

Основная рабочая зона

В проектах Data Science PyCharm позволяет осуществлять рефакторинг кода, полученного в результате завершения исследовательской стадии проекта с применением ноутбуков.

Фрагменты кода оформляются в виде классов или функций на языке программирования Python.

Окно редактора кода PyCharm Community

Зеленый символ в правом верхнем углу рабочего окна свидетельствует о том, что код написан с соблюдением стандарта написания кода PEP8.

Изучить стандарт можно по ссылке.

При наличии замечаний к коду, знак меняется на следующий (цифра указывает на количество замечаний):

Особенности

PyCharm Community целесообразно использовать при переходе от исследовательской стадии проекта в области науки о данных к стадии разработки готового решения, основанного на результатах испытаний. В стадии разработки на первый план выходит навык написания понятного и поддерживаемого кода, отвечающего определенным стандартам программирования.

9. JetBrains DataSpell

Краткий обзор

JetBrains DataSpell – интегрированная среда разработки от JetBrains, адаптированная под потребности специалистов в области науки о данных.

Интерфейс JetBrains DataSpell

Левая панель инструмента содержит две основные вкладки:

  • Workspace.
  • Structure (описывает структуру заголовков инструмента).

Вкладка Workspace содержит структуру каталогов проекта, а также инструмент для подключения сервера Jupyter Notebook:

Доступны подключения к локальному серверу, либо к удаленному по URL.

Правая панель содержит важный инструмент, который называется DataExplorer. Он позволяет подключать различные системы управления базами данных (SQL/NoSQL), вроде Azure SQL Database, Apache Hive и др.

Правая панель JetBrains DataSpell

Нижняя панель содержит вкладки для работы с Git и консолью, аналогично PyCharm.

Установка

Дистрибутив DataSpell доступен по ссылке.

Запуск и создание файлов

После запуска инструмента из основного меню в диалоговом окне доступен выбор среды. По умолчанию указана Conda.

Диалоговое окно выбора среды в JetBrains DataSpell

Основная рабочая зона

Двойное нажатие левой кнопкой мыши на файле ноутбука в левой панели Workspace открывает его непосредственно в основном окне редактора DataSpell.

Окно ноутбука JetBrains DataSpell

В таком режиме работа с ячейками ноутбука происходит привычным образом – редактирование кода внутри ячейки и операции над самой ячейкой.

В режиме отладки, после установки точки останова (break point), под основной рабочей областью ноутбука появляется таблица с историей исполнения в ячейках, а также выводом всех переменных, которые содержатся в пространстве имен ноутбука.

Debugger JetBrains DataSpell

Двойное нажатие левой кнопкой мыши на файле .csv в левой панели Workspace открывает его непосредственно в основном окне редактора, облегчая визуальное исследование исходных данных.

Просмотр файла .csv в JetBrains DataSpell

Особенности

DataSpell является инструментом для fullstack-проекта в области Data Science. Это обеспечивается за счет объединения возможностей работы над исследовательской стадией и стадией разработки в одном интерфейсе.

10. GitHub для Data Science

Проекты в области Data Science предполагают работу с ноутбуками в формате .ipynb на исследовательской стадии проекта. Этот формат файлов хотя и поддерживается GitHub (их можно открывать непосредственно из web-интерфейса репозитория), но попытки просмотра содержимого в половине случаев завершаются ошибкой, страницу просмотра приходится обновлять и пробовать открыть файл снова.

Для решения этой проблемы частой практикой является просмотр ноутбука в Google Colab:

Пример кода для встраивания ссылки на просмотр ноутбука в файл README.md в корневой директории репозитория:

Файлы .ipynb по сути являются структурированным текстом в формате JSON и отслеживать их изменения в процессе версионирования неудобно:

Рефакторинг кода и структурирование его в «питоновские» файлы с расширением .py и соблюдением стандарта PEP8 упрощают работу:

Хранение файлов с набором данных более 100 Mb в GitHub невозможно. Для решения задачи используется Git LFS. Эта технология обрабатывает большие файлы, сохраняя в репозитории ссылки, но не на сами файлы.

Чтобы обойти архитектуру Git, Git LFS создает файл-указатель, который действует как ссылка на хранящийся в другом месте файл. GitHub управляет этим файлом указателя в репозитории. Когда вы клонируете репозиторий, GitHub использует указатель, чтобы найти сам файл.

Подробнее о работе с большими файлами можно прочитать в документации GitHub (англ.)

Работу с большими файлами также поддерживает технология DVC (Data Version Control).

Ссылка на пример настройки версионирования файла размером более 100 Mb на удаленном хранилище Google Drive.

источник


Report Page