📊 ТОП-10 инструментов для Data Science
Хотите сделать свою работу в области науки о данных продуктивнее? Подбирайте удобные и эффективные инструменты. Рассмотрим десять лучших, получивших наибольшее распространение среди специалистов по Data Science во всем мире. Интерфейс Jupyter Notebook Jupyter Notebook представляет собой инструмент для проведения исследовательской работы в сфере науки о данных. Его особенностью являются интерактивные ячейки кода, запускать который можно изолированно друг от друга, мгновенно получая результат в виде расчетов, таблиц, графиков и т.п. Jupyter Notebook – это программное обеспечение с открытым исходным кодом и веб-интерфейсом, доступном пользователю как на локальном компьютере через браузер, так и на удаленном сервере. Ссылка на исходный код проекта на GitHub. Инструкции по установке продукта можно прочитать по ссылке. Альтернативным способом является установка в составе дистрибутива языков программирования Anaconda, содержащим языки программирования R и Python (по умолчанию), а также несколько прикладных рабочих инструментов для Data Scientist’a: собственно Jupyter Notebook, Jupyter Lab, Spyder и других. Пример установки дистрибутива доступен по ссылке. Помимо указанных инструментов дистрибутив содержит обязательные пакеты для работы с данными: Scipy, numpy, pandas. Состав дистрибутива Anaconda Запуск Jupyter Notebook в терминале: После запуска Jupyter Notebook перед пользователем в браузере автоматически открывается встроенный проводник, необходимый для создания рабочего файла в формате Файловый менеджер Jupyter Notebook Создание файла доступно в меню файлового менеджера в правом верхнем углу: После создания файла, в новой вкладке браузера становится доступно основное окно инструмента. Оно содержит элементы меню управления файлами и ячейками, а также ячейки для работы с кодом и текстом под меню. Доступно два основных формата работы внутри ячеек: разметка текста и код. В формате разметки текста синтаксис аналогичен языку Markdown. В этом формате можно описать заголовки и подзаголовки документа, комментарии, имя и контактные данные автора и т.п. В формате редактирования кода ячейка активна для исполнения в той программной среде, в которой запущен ноутбук. По умолчанию речь идет о языке программирования Python, окружение для которого создано при помощи системы управления средой Conda, однако после дополнительной настройки доступны и другие языки: Доступно два режима работы с ячейками: Первый режим интуитивно понятен и активируется кликом левой кнопкой мыши внутри ячейки, после чего слева от ячейки появится цветовой индикатор зеленого цвета. Режим редактирование содержимого Jupyter Notebook Второй режим активируется кликом левой кнопкой мыши слева от ячейки. В таком режиме ячейку можно перемещать выше/ниже других, изменять формат работы с ячейкой, добавлять новые ячейки и удалять существующие, объединять их и т.п. В командном режиме цветовой индикатор слева от ячейки – синего цвета. Командный режим Jupyter Notebook Для запуска команды bash, перед кодом в ячейке необходимо добавить восклицательный знак: В подавляющем большинстве случаев работа с ячейками Jupyter Notebook осуществляется с помощью сочетания горячих клавиш клавиатуры (латинская раскладка) в командном режиме: Кроме перечисленных комбинаций, в основном меню инструмента доступны все возможные сочетания клавиш, которые помогают ускорить исследовательскую работу: Особенности Jupyter Notebook содержит малое количество элементов управления, панелей инструментов и т.п., поэтому может пригодиться на начальных этапах освоения науки о данных, а также в небольших индивидуальных работах. Jupyter Lab – это интерфейс нового поколения для Jupyter Notebook. Основные отличия от предыдущего инструмента заметны именно при визуальном сравнении. Слева появляется панель, которая содержит четыре вкладки: Интерфейс Jupyter Lab Отдельного окна файлового менеджера у Jupyter Lab нет, он встроен в левую панель. Запущенные терминалы и ядра позволяют видеть перечень открытых вкладок и управлять ими. Элемент меню Jupyter Lab «Запущенные терминалы и ядра» С точки зрения функциональности, именно наличие менеджера расширений делает Jupyter Lab модульным и масштабируемым инструментом, настроенным на актуальные задачи по Data Science. Элемент меню Jupyter Lab «Менеджер расширений» Во вкладке Меню выбора тем Jupyter Lab В сентябре 2021 года была анонсирована настольная версия – JupyterLab App, созданная с использованием HTML, CSS и JavaScript на фреймворке Electron. Ссылка на GitHub проекта. Для начала, необходима установка системы управления средой Conda, которую можно осуществить из репозитория Miniforge на GitHub. Ссылка на GitHub проекта. Далее, установка Jupyter Lab осуществляется командой в терминале: Возможна установка в составе дистрибутива языков программирования Anaconda, как было описано выше. Запуск Jupyter Lab в терминале: Для создания нового файла необходимо кликнуть левой кнопкой мыши на кнопку New Launcher (+) под главным меню. Меню создания нового файла Jupyter Lab После этого откроется новая вкладка с перечнем возможных типов файлов: После создания файлов все они отображаются в проводнике во вкладке слева: Помимо самих ноутбуков в формате В отличие от Jupyter Notebook, перетаскивание ячеек в Jupyter Lab можно осуществлять в графическом режиме, удерживая левую кнопку мыши. Перетаскивание ячеек в графическом режиме Jupyter Lab Ячейки с большим количеством текста/кода можно сворачивать кликом левой кнопкой мыши по цветовому индикатору. После сворачивания ячейки отображаются в виде троеточия. Разворачивание ячейки происходит аналогично. Сворачивание ячеек в графическом режиме Jupyter Lab Если ноутбук содержит много текста и кода, навигация по различным участкам документа становится неудобной. Для решения проблемы предусмотрена возможность параллельного просмотра еще одного ноутбука. Параллельный просмотр ноутбуков в интерфейсе Jupyter Lab Для этого требуется кликнуть правой кнопкой мыши по заголовку вкладки и выбрать: Особенности Поскольку Jupyter Lab имеет встроенный проводник и поддерживает различные дополнительные форматы файлов, расширения, использование инструмента подходит для крупных исследовательских проектов со сложной логикой. Интерфейс TensorBoard TensorBoard – это набор веб-приложений для визуализации графиков метрик качества моделей во время их обучения в TensorFlow. Ссылка на GitHub проекта. Установка осуществляется через менеджер расширений левой панели: Интерфейс JupyterLab Git. Материал сайта Neptune.ai После установки расширения на левой панели становится доступна вкладка Git. Это позволяет контролировать версии файлов в рамках исследовательского проекта. Ссылка на GitHub проекта. Интерфейс JupyterLab variableInspector Расширение JupyterLab, которое показывает используемые в настоящее время переменные и их значения. Ссылка на GitHub проекта. Интерфейс JupyterLab plotly Plotly – это расширение JupyterLab для визуализации диаграмм Plotly. Библиотека Python Plotly позволяет создавать интерактивные графики высокого качества. Ссылка на примеры диаграмм Plotly. Ссылка на GitHub проекта. Расширений для JupyterLab существенно больше чем мы описали, поэтому каждый Data Scientist может провести ни один час в поисках подходящих для работы. Azure Data Studio имеет схожий подход к работе с кодом и разметкой текста в отдельно взятых изолированных ячейках, как и Jupyter Lab. Инструмент является бесплатным и кросс-платформенным. On-premise решение поддерживается следующими операционными системами: Windows, macOS и Linux. Разработчики Azure Data Studio, компания Microsoft, позиционируют свой продукт как единое решение для аналитики данных собранных воедино из различных источников. Интерфейс Azure Data Studio Левая панель инструмента содержит шесть вкладок: Во вкладке Эта вкладка позволяет создавать новые соединения, группировать их по папкам и фильтровать только активные соединения из общего списка. Вкладка Вкладка Вкладка Вкладка Azure Data Studio базируется на Visual Studio Code, что дает дополнительную возможность использовать расширения Visual Studio Code, но не все из них совместимы. Вкладка «Расширения» Azure Data Studio Ссылка на GitHub проекта. Инструкции по установке продукта можно прочитать по ссылке. Основным способом доставки инструмента до пользователя является бинарная дистрибьюция. Запуск Azure Data Studio в графическом режиме через главное меню: Создание рабочего ноутбука осуществляется через основное меню инструмента: Для создания подключения к SQL-серверу: Azure Data Studio позволяет работать параллельно в нескольких вкладках, в каждой из которых запущено свое собственное ядро/задача. Например, в одной вкладке в ячейках выполняются скрипты SQL, в другой – код на Python, в третьей – запрос на подключение к SQL-серверу. Вкладки Azure Data Studio Наиболее часто используемые команды при работе с ячейками осуществляются с помощью сочетания горячих клавиш клавиатуры, полный перечень которых доступен в меню: Сочетания горячих клавиш Azure Data Studio В правом верхнем углу основной рабочей области находится иконка менеджера пакетов, кликнув по которой левой кнопкой мыши можно контролировать уже установленные пакеты, а также устанавливать новые. Менеджер пакетов Azure Data Studio Особенности Применение Azure Data Studio целесообразно в проектах, где требуется сбор воедино набора данных из большого количества различных источников, запросы к которым необходимо писать с применением SQL. Интерфейс Managed Instance Dashboard Панель мониторинга предоставляет сведения об экземпляре базы данных SQL Azure, связанные с его производительностью и работоспособностью. Список некоторых из доступных отчетов: Интерфейс Query History Query History – это панель для просмотра прошлых выполненных запросов. Строка истории запроса содержит четыре части: Интерфейс Redgate SQL Search Redgate SQL Search – это надстройка, которая позволяет быстро искать текстовые вхождения внутри строк SQL-скриптов в базах данных, подключенных к Azure Data Studio. Интерфейс настройки расширения Machine Learning. Microsoft.com Расширение Machine Learning для Azure Data Studio позволяет управлять пакетами, импортировать обученные модели машинного обучения, делать прогнозы и создавать ноутбуки для проведения экспериментов с базами данных SQL. Интерфейс Schema Visualization Расширение Schema Visualization дает визуальное представление о структуре баз SQL, подключенных к Azure Data Studio. Среди функций расширения – экспорт схем в формате Для изучения полного перечня воспользуйтесь менеджером расширений в левой панели инструмента. Интерфейс Apache Zeppelin, источник: Habr.ru Apache Zeppelin – ноутбук c web-интерфейсом, доступный пользователю как на локальном компьютере через браузер, так и на удаленном сервере. Ноутбук позволяет управлять данными, строить интерактивную аналитику и совместно работать в проектах, используя SQL, Scala, Python, R и другие языки. Apache Zeppelin поддерживает многопользовательский режим с LDAP и конфигурируется для работы на YARN-кластере. Следствием работы поверх кластера является возможность распараллеливания вычислений, что также необходимо в работе с большими данными. Инструкции по установке продукта можно прочитать по ссылке (англ.) Установка потребует от пользователя базовых знаний администрирования UNIX-подобных операционных систем. Запуск Apache Zeppelin в терминале (в UNIX-подобной операционной системе): На стартовой странице инструмента: Меню создания нового ноутбука Apache Zeppelin Список ранее созданных ноутбуков также отражается на стартовой странице. Список ноутбуков Apache Zeppelin После запуска Apache Zeppelin перед пользователем в браузере открывается ноутбук. Ноутбук Apache Zeppelin Основная особенность ячеек Zeppelin заключается в том, что внутри одного ноутбука можно запускать ячейки на различных вычислительных ядрах и средах, для чего в первой строке ячейки прописывается специальный указатель, например: Например, для вывода на экран текущей рабочей директории в ячейке необходимо выполнить код: Для запуска IPython интерпретатора: Другим значимым функциональным дополнением ноутбука является реализованная по умолчанию возможность визуализации данных. Для этого под ячейкой предусмотрена соответствующая пиктограмма графика. Визуализация данных встроенными средствами Apache Zeppelin Особенности Инструмент используется для работы с большими данными (NoSQL), так как входит в широкую экосистему Apache. Обязательным требованием является знание синтаксиса команд bash. Интерфейс Google Collab Google Colab представляет собой облачный Jupyter Notebook, созданный и поддерживаемый компанией Google. Ключевое отличие от локального Jupyter Notebook – возможность запуска облачной сессии с графическим / тензорным ускорителем: Выбор аппаратного ускорителя Google Collab В качестве GPU сервис предлагает 12GB NVIDIA Tesla K80, которая бесплатна для использования на ограниченное время – 12 часов за один запуск. Из одного аккаунта Google в случае использования GPU/TPU доступна только одна активная версия ноутбука. Платного тарифа для пользователей из России не предусмотрено. Подробнее о лимитах инструмента можно прочитать по ссылке (англ.) Левая панель инструмента содержит вкладки: Во вкладке Во вкладке Создание ноутбука и запуск сервиса Google Colab осуществляется из сервиса Google Drive: Ссылка на сервис. В любой папке диска необходимо выполнить следующее действие: Перечень ноутбуков доступен в папке, в которой они были созданы. Список ноутбуков в папке Google Drive Также возможно создание нестандартных конфигураций ноутбуков. Ноутбук с 35Gb RAM при использовании TPU, или 25Gb при использовании CPUGPU доступен по ссылке. В основном меню ноутбука, в разделе Горячие клавиши Google Colab Реализована возможность добавлять ячейки в графическом режиме: Возможность изменения порядка ячеек в графическом режиме (перетаскивание) – отсутствует. Для этого в правом верхнем углу каждой ячейки предусмотрено меню: В остальном, работа в Google Colab схожа с работой в локальном ноутбуке Jupyter. Особенности Поскольку Google Colab имеет 12GB памяти в графическом ускорителе, то его целесообразно использовать для ресурсоемких исследований и вычислений, например, для обучения нейронной сети. Инструмент подходит для командной работы. PyCharm Community – бесплатная среда разработки для языка программирования Python. Интегрированная среда дает возможность анализа кода, его графический отладки, и т.д. PyCharm разработана компанией JetBrains на основе IntelliJ IDEA. Интерфейс PyCharm Community Левая панель инструмента содержит вкладки: Вкладка После фиксации изменений в проекте по нажатию пиктограммы в верхнем правом меню открывается вкладка Сообщения к комитам целесообразно стандартизировать в формальной логике, например, с применением соглашения Conventional Commits. Ссылка на соглашение (англ.) Вкладка При наличии предложений на изменение кода в репозитории GitHub со стороны участников проекта, все они отображаются во вкладке Нижняя панель инструментов слева содержит вкладки: Наиболее востребованной вкладкой является Вкладка Команда представляет собой запуск pipeline технологии DVC, о которой можно прочитать на сайте разработчика. Ссылка на сайт разработчика технологии (англ.) Основным способом распространения инструмента является бинарная дистрибьюция. Скачать дистрибутив можно по ссылке. Существует два основных способа начала проекта. В проектах Data Science PyCharm позволяет осуществлять рефакторинг кода, полученного в результате завершения исследовательской стадии проекта с применением ноутбуков. Фрагменты кода оформляются в виде классов или функций на языке программирования Python. Окно редактора кода PyCharm Community Зеленый символ в правом верхнем углу рабочего окна свидетельствует о том, что код написан с соблюдением стандарта написания кода PEP8. Изучить стандарт можно по ссылке. При наличии замечаний к коду, знак меняется на следующий (цифра указывает на количество замечаний): Особенности PyCharm Community целесообразно использовать при переходе от исследовательской стадии проекта в области науки о данных к стадии разработки готового решения, основанного на результатах испытаний. В стадии разработки на первый план выходит навык написания понятного и поддерживаемого кода, отвечающего определенным стандартам программирования. JetBrains DataSpell – интегрированная среда разработки от JetBrains, адаптированная под потребности специалистов в области науки о данных. Интерфейс JetBrains DataSpell Левая панель инструмента содержит две основные вкладки: Вкладка Доступны подключения к локальному серверу, либо к удаленному по URL. Правая панель содержит важный инструмент, который называется Правая панель JetBrains DataSpell Нижняя панель содержит вкладки для работы с Git и консолью, аналогично PyCharm. Дистрибутив DataSpell доступен по ссылке. После запуска инструмента из основного меню в диалоговом окне доступен выбор среды. По умолчанию указана Conda. Диалоговое окно выбора среды в JetBrains DataSpell Двойное нажатие левой кнопкой мыши на файле ноутбука в левой панели Окно ноутбука JetBrains DataSpell В таком режиме работа с ячейками ноутбука происходит привычным образом – редактирование кода внутри ячейки и операции над самой ячейкой. В режиме отладки, после установки точки останова (break point), под основной рабочей областью ноутбука появляется таблица с историей исполнения в ячейках, а также выводом всех переменных, которые содержатся в пространстве имен ноутбука. Debugger JetBrains DataSpell Двойное нажатие левой кнопкой мыши на файле Просмотр файла .csv в JetBrains DataSpell Особенности DataSpell является инструментом для fullstack-проекта в области Data Science. Это обеспечивается за счет объединения возможностей работы над исследовательской стадией и стадией разработки в одном интерфейсе. Проекты в области Data Science предполагают работу с ноутбуками в формате Для решения этой проблемы частой практикой является просмотр ноутбука в Google Colab: Пример кода для встраивания ссылки на просмотр ноутбука в файл Файлы Рефакторинг кода и структурирование его в «питоновские» файлы с расширением Хранение файлов с набором данных более 100 Mb в GitHub невозможно. Для решения задачи используется Git LFS. Эта технология обрабатывает большие файлы, сохраняя в репозитории ссылки, но не на сами файлы. Чтобы обойти архитектуру Git, Git LFS создает файл-указатель, который действует как ссылка на хранящийся в другом месте файл. GitHub управляет этим файлом указателя в репозитории. Когда вы клонируете репозиторий, GitHub использует указатель, чтобы найти сам файл. Подробнее о работе с большими файлами можно прочитать в документации GitHub (англ.) Работу с большими файлами также поддерживает технология DVC (Data Version Control). Ссылка на пример настройки версионирования файла размером более 100 Mb на удаленном хранилище Google Drive. *** Больше полезной информации вы можете найти на нашем телеграм-канале «Библиотека data scientist’а». Интересно, перейти к каналу1. Jupyter Notebook
Краткий обзор
Установка
Запуск и создание файлов
jupyter notebook
.ipynb
, который в профессиональной среде называют «ноутбукам» или «тетрадками».New -> python3
.Основная рабочая зона
!echo Run Bash Command
help -> keyboard shortcuts.
2. Jupyter Lab
Краткий обзор
Settings
основного меню Jupyter Lab есть возможность выбирать цветовые темы оформления.Установка
conda install -c conda-forge jupyterlab
Запуск и создание файлов
jupyter-lab
.ipynb
Jupyter Lab поддерживает ряд других форматов:.csv
, что позволяет изучать наборы данных;.jpg/gif/png
, что позволяет просматривать изображения в проектах компьютерного зрения;.pdf
, что дает возможность изучать документацию;.md
, что помогает в описании и документировании проекта.Основная рабочая зона
New View for Notebook
. В остальном механика взаимодействия с основной рабочей зоной первых двух инструментов схожа.3. Расширения Jupyter Lab
JupyterLab TensorBoard
JupyterLab Git
JupyterLab variableInspector
JupyterLab plotly
4. Azure Data Studio
Краткий обзор
Соединения
отражается перечень всех доступных (активных и неактивных) соединений с внешними ресурсами:Поиск
позволяет произвести перебор всех включений искомого текста в разрезе рабочих файлов:Ноутбуки
содержит перечень рабочих ноутбуков, совмещенных с результатами текущего поиска из предыдущей вкладки:Проводник
содержит перечень файлов из подключенной к инструменту рабочей папки (директории):Управление версиями
позволяет реализовать инициализацию Git-репозитория и отправку текущей (зафиксированной) версии ноутбука в удаленный репозиторий на GitHub:Установка
Запуск и создание файлов
Menu -> Azure Data Studio
File -> New Notebook (Alt + N)
File -> New Query
Основная рабочая зона
File -> Preferences -> Keyboard Shortcuts
5. Расширение Azure Data Studio
Managed Instance Dashboard
Query History
Redgate SQL Search
Machine Learning
Schema Visualization
.svg
. 6. Apache Zeppelin
Краткий обзор
Установка
Запуск и создание файлов
bin/zeppelin-daemon.sh start
Notebook -> Create new note
Основная рабочая зона
%sh pwd
%python.ipython print("hello world")
7. Google Collab
Краткий обзор
Меню -> Среда выполнения -> Сменить среду выполнения
Фрагменты кода
возможен поиск по шаблонам, что может ускорить работу с типовыми операциями, например такими, как подключение Google Drive к ноутбуку:Файлы
реализована навигация по файловой системе виртуальной машины, в которой запущен ноутбук, а также присутствует возможность монтирования диска Google Drive для загрузки/сохранения данных:Запуск и создание файлов
Создать -> Еще -> Google Colaboratory
Основная рабочая зона
Инструменты
доступна раскладка горячих клавиш для работы с ячейками ноутбука. В Google Colab это сочетание отличается от сочетания в Jupyter Notebook.8. PyCharm Community
Краткий обзор
Progects
содержит структуру каталогов проекта, в т.ч. структуру сторонних библиотек, а также инструменты для работы с ними.Comit
, где требуется ввести сообщение к осуществляемому комиту:Git
PyCharm Community Pull Requests
.Terminal
, в ней выполняются команды проекта, например:Терминал
в PyCharm Community Установка
Запуск и создание файлов
File -> New Project
.VCS -> Get from Version Control
.Основная рабочая зона
9. JetBrains DataSpell
Краткий обзор
Workspace
содержит структуру каталогов проекта, а также инструмент для подключения сервера Jupyter Notebook:DataExplorer
. Он позволяет подключать различные системы управления базами данных (SQL/NoSQL), вроде Azure SQL Database, Apache Hive и др.Установка
Запуск и создание файлов
Основная рабочая зона
Workspace
открывает его непосредственно в основном окне редактора DataSpell..csv
в левой панели Workspace
открывает его непосредственно в основном окне редактора, облегчая визуальное исследование исходных данных.10. GitHub для Data Science
.ipynb
на исследовательской стадии проекта. Этот формат файлов хотя и поддерживается GitHub (их можно открывать непосредственно из web-интерфейса репозитория), но попытки просмотра содержимого в половине случаев завершаются ошибкой, страницу просмотра приходится обновлять и пробовать открыть файл снова.README.md
в корневой директории репозитория:
[![Open In Colab] (https://colab.research.google.com/assets/colab-badge.svg)] (https://colab.research.google.com/github/usernane/repo/blob/master/foldername/notebookname.ipynb)
.ipynb
по сути являются структурированным текстом в формате JSON и отслеживать их изменения в процессе версионирования неудобно:.py
и соблюдением стандарта PEP8 упрощают работу:Если вы не увидели в обзоре своих любимых инструментов, не стесняйтесь рекомендовать их в комментариях.
- 0 views
- 0 Comment
Свежие комментарии