ТОП-10 инструментов для Data Science |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2021-10-29 11:36 1. Jupyter Notebook Краткий обзор Jupyter Notebook представляет собой инструмент для проведения исследовательской работы в сфере науки о данных. Его особенностью являются интерактивные ячейки кода, запускать который можно изолированно друг от друга, мгновенно получая результат в виде расчетов, таблиц, графиков и т.п. Jupyter Notebook – это программное обеспечение с открытым исходным кодом и веб-интерфейсом, доступном пользователю как на локальном компьютере через браузер, так и на удаленном сервере. Ссылка на исходный код проекта на GitHub. Установка Инструкции по установке продукта можно прочитать по ссылке. Альтернативным способом является установка в составе дистрибутива языков программирования Anaconda, содержащим языки программирования R и Python (по умолчанию), а также несколько прикладных рабочих инструментов для Data Scientist'a: собственно Jupyter Notebook, Jupyter Lab, Spyder и других. Пример установки дистрибутива доступен по ссылке. Помимо указанных инструментов дистрибутив содержит обязательные пакеты для работы с данными: Scipy, numpy, pandas. Запуск и создание файлов Запуск Jupyter Notebook в терминале: После запуска Jupyter Notebook перед пользователем в браузере автоматически открывается встроенный проводник, необходимый для создания рабочего файла в формате Создание файла доступно в меню файлового менеджера в правом верхнем углу: После создания файла, в новой вкладке браузера становится доступно основное окно инструмента. Оно содержит элементы меню управления файлами и ячейками, а также ячейки для работы с кодом и текстом под меню. Основная рабочая зона Доступно два основных формата работы внутри ячеек: разметка текста и код. В формате разметки текста синтаксис аналогичен языку Markdown. В этом формате можно описать заголовки и подзаголовки документа, комментарии, имя и контактные данные автора и т.п. В формате редактирования кода ячейка активна для исполнения в той программной среде, в которой запущен ноутбук. По умолчанию речь идет о языке программирования Python, окружение для которого создано при помощи системы управления средой Conda, однако после дополнительной настройки доступны и другие языки:
Доступно два режима работы с ячейками:
Первый режим интуитивно понятен и активируется кликом левой кнопкой мыши внутри ячейки, после чего слева от ячейки появится цветовой индикатор зеленого цвета. Второй режим активируется кликом левой кнопкой мыши слева от ячейки. В таком режиме ячейку можно перемещать выше/ниже других, изменять формат работы с ячейкой, добавлять новые ячейки и удалять существующие, объединять их и т.п. В командном режиме цветовой индикатор слева от ячейки – синего цвета. Для запуска команды bash, перед кодом в ячейке необходимо добавить восклицательный знак: В подавляющем большинстве случаев работа с ячейками Jupyter Notebook осуществляется с помощью сочетания горячих клавиш клавиатуры (латинская раскладка) в командном режиме:
Кроме перечисленных комбинаций, в основном меню инструмента доступны все возможные сочетания клавиш, которые помогают ускорить исследовательскую работу: Особенности Jupyter Notebook содержит малое количество элементов управления, панелей инструментов и т.п., поэтому может пригодиться на начальных этапах освоения науки о данных, а также в небольших индивидуальных работах. 2. Jupyter Lab Краткий обзор Jupyter Lab – это интерфейс нового поколения для Jupyter Notebook. Основные отличия от предыдущего инструмента заметны именно при визуальном сравнении. Слева появляется панель, которая содержит четыре вкладки:
Отдельного окна файлового менеджера у Jupyter Lab нет, он встроен в левую панель. Запущенные терминалы и ядра позволяют видеть перечень открытых вкладок и управлять ими. С точки зрения функциональности, именно наличие менеджера расширений делает Jupyter Lab модульным и масштабируемым инструментом, настроенным на актуальные задачи по Data Science. Во вкладке В сентябре 2021 года была анонсирована настольная версия – JupyterLab App, созданная с использованием HTML, CSS и JavaScript на фреймворке Electron. Установка Для начала, необходима установка системы управления средой Conda, которую можно осуществить из репозитория Miniforge на GitHub. Далее, установка Jupyter Lab осуществляется командой в терминале: Возможна установка в составе дистрибутива языков программирования Anaconda, как было описано выше. Запуск и создание файлов Запуск Jupyter Lab в терминале: Для создания нового файла необходимо кликнуть левой кнопкой мыши на кнопку New Launcher (+) под главным меню. После этого откроется новая вкладка с перечнем возможных типов файлов: После создания файлов все они отображаются в проводнике во вкладке слева: Помимо самих ноутбуков в формате
Основная рабочая зона В отличие от Jupyter Notebook, перетаскивание ячеек в Jupyter Lab можно осуществлять в графическом режиме, удерживая левую кнопку мыши. Ячейки с большим количеством текста/кода можно сворачивать кликом левой кнопкой мыши по цветовому индикатору. После сворачивания ячейки отображаются в виде троеточия. Разворачивание ячейки происходит аналогично. Если ноутбук содержит много текста и кода, навигация по различным участкам документа становится неудобной. Для решения проблемы предусмотрена возможность параллельного просмотра еще одного ноутбука. Для этого требуется кликнуть правой кнопкой мыши по заголовку вкладки и выбрать: Особенности Поскольку Jupyter Lab имеет встроенный проводник и поддерживает различные дополнительные форматы файлов, расширения, использование инструмента подходит для крупных исследовательских проектов со сложной логикой. 3. Расширения Jupyter Lab JupyterLab TensorBoard TensorBoard – это набор веб-приложений для визуализации графиков метрик качества моделей во время их обучения в TensorFlow. Установка осуществляется через менеджер расширений левой панели: JupyterLab Git После установки расширения на левой панели становится доступна вкладка Git. Это позволяет контролировать версии файлов в рамках исследовательского проекта. JupyterLab variableInspector Расширение JupyterLab, которое показывает используемые в настоящее время переменные и их значения. JupyterLab plotly Plotly – это расширение JupyterLab для визуализации диаграмм Plotly. Библиотека Python Plotly позволяет создавать интерактивные графики высокого качества. Ссылка на примеры диаграмм Plotly. Расширений для JupyterLab существенно больше чем мы описали, поэтому каждый Data Scientist может провести ни один час в поисках подходящих для работы. 4. Azure Data Studio Краткий обзор Azure Data Studio имеет схожий подход к работе с кодом и разметкой текста в отдельно взятых изолированных ячейках, как и Jupyter Lab. Инструмент является бесплатным и кросс-платформенным. On-premise решение поддерживается следующими операционными системами: Windows, macOS и Linux. Разработчики Azure Data Studio, компания Microsoft, позиционируют свой продукт как единое решение для аналитики данных собранных воедино из различных источников. Левая панель инструмента содержит шесть вкладок:
Во вкладке Эта вкладка позволяет создавать новые соединения, группировать их по папкам и фильтровать только активные соединения из общего списка. Вкладка Вкладка Вкладка Вкладка Azure Data Studio базируется на Visual Studio Code, что дает дополнительную возможность использовать расширения Visual Studio Code, но не все из них совместимы. Установка Инструкции по установке продукта можно прочитать по ссылке. Основным способом доставки инструмента до пользователя является бинарная дистрибьюция. Запуск и создание файлов Запуск Azure Data Studio в графическом режиме через главное меню:
Создание рабочего ноутбука осуществляется через основное меню инструмента:
Для создания подключения к SQL-серверу:
Основная рабочая зона Azure Data Studio позволяет работать параллельно в нескольких вкладках, в каждой из которых запущено свое собственное ядро/задача. Например, в одной вкладке в ячейках выполняются скрипты SQL, в другой – код на Python, в третьей – запрос на подключение к SQL-серверу. Наиболее часто используемые команды при работе с ячейками осуществляются с помощью сочетания горячих клавиш клавиатуры, полный перечень которых доступен в меню:
В правом верхнем углу основной рабочей области находится иконка менеджера пакетов, кликнув по которой левой кнопкой мыши можно контролировать уже установленные пакеты, а также устанавливать новые. Особенности Применение Azure Data Studio целесообразно в проектах, где требуется сбор воедино набора данных из большого количества различных источников, запросы к которым необходимо писать с применением SQL. 5. Расширение Azure Data Studio Managed Instance Dashboard Панель мониторинга предоставляет сведения об экземпляре базы данных SQL Azure, связанные с его производительностью и работоспособностью. Список некоторых из доступных отчетов:
Query History Query History – это панель для просмотра прошлых выполненных запросов. Строка истории запроса содержит четыре части:
Redgate SQL Search Redgate SQL Search – это надстройка, которая позволяет быстро искать текстовые вхождения внутри строк SQL-скриптов в базах данных, подключенных к Azure Data Studio. Machine Learning Расширение Machine Learning для Azure Data Studio позволяет управлять пакетами, импортировать обученные модели машинного обучения, делать прогнозы и создавать ноутбуки для проведения экспериментов с базами данных SQL. Schema Visualization Расширение Schema Visualization дает визуальное представление о структуре баз SQL, подключенных к Azure Data Studio. Среди функций расширения – экспорт схем в формате Для изучения полного перечня воспользуйтесь менеджером расширений в левой панели инструмента. 6. Apache Zeppelin Краткий обзор Apache Zeppelin – ноутбук c web-интерфейсом, доступный пользователю как на локальном компьютере через браузер, так и на удаленном сервере. Ноутбук позволяет управлять данными, строить интерактивную аналитику и совместно работать в проектах, используя SQL, Scala, Python, R и другие языки. Apache Zeppelin поддерживает многопользовательский режим с LDAP и конфигурируется для работы на YARN-кластере. Следствием работы поверх кластера является возможность распараллеливания вычислений, что также необходимо в работе с большими данными. Установка Инструкции по установке продукта можно прочитать по ссылке (англ.) Установка потребует от пользователя базовых знаний администрирования UNIX-подобных операционных систем. Запуск и создание файлов Запуск Apache Zeppelin в терминале (в UNIX-подобной операционной системе): На стартовой странице инструмента:
Список ранее созданных ноутбуков также отражается на стартовой странице. Основная рабочая зона После запуска Apache Zeppelin перед пользователем в браузере открывается ноутбук. Основная особенность ячеек Zeppelin заключается в том, что внутри одного ноутбука можно запускать ячейки на различных вычислительных ядрах и средах, для чего в первой строке ячейки прописывается специальный указатель, например:
Например, для вывода на экран текущей рабочей директории в ячейке необходимо выполнить код: Для запуска IPython интерпретатора: Другим значимым функциональным дополнением ноутбука является реализованная по умолчанию возможность визуализации данных. Для этого под ячейкой предусмотрена соответствующая пиктограмма графика. Особенности Инструмент используется для работы с большими данными (NoSQL), так как входит в широкую экосистему Apache. Обязательным требованием является знание синтаксиса команд bash. 7. Google Collab Краткий обзор Google Colab представляет собой облачный Jupyter Notebook, созданный и поддерживаемый компанией Google. Ключевое отличие от локального Jupyter Notebook – возможность запуска облачной сессии с графическим / тензорным ускорителем:
В качестве GPU сервис предлагает 12GB NVIDIA Tesla K80, которая бесплатна для использования на ограниченное время – 12 часов за один запуск. Из одного аккаунта Google в случае использования GPU/TPU доступна только одна активная версия ноутбука. Платного тарифа для пользователей из России не предусмотрено. Подробнее о лимитах инструмента можно прочитать по ссылке (англ.) Левая панель инструмента содержит вкладки:
Во вкладке Во вкладке Запуск и создание файлов Создание ноутбука и запуск сервиса Google Colab осуществляется из сервиса Google Drive: В любой папке диска необходимо выполнить следующее действие:
Перечень ноутбуков доступен в папке, в которой они были созданы. Также возможно создание нестандартных конфигураций ноутбуков. Ноутбук с 35Gb RAM при использовании TPU, или 25Gb при использовании CPUGPU доступен по ссылке. Основная рабочая зона В основном меню ноутбука, в разделе Реализована возможность добавлять ячейки в графическом режиме: Возможность изменения порядка ячеек в графическом режиме (перетаскивание) – отсутствует. Для этого в правом верхнем углу каждой ячейки предусмотрено меню: В остальном, работа в Google Colab схожа с работой в локальном ноутбуке Jupyter. Особенности Поскольку Google Colab имеет 12GB памяти в графическом ускорителе, то его целесообразно использовать для ресурсоемких исследований и вычислений, например, для обучения нейронной сети. Инструмент подходит для командной работы. 8. PyCharm Community Краткий обзор PyCharm Community – бесплатная среда разработки для языка программирования Python. Интегрированная среда дает возможность анализа кода, его графический отладки, и т.д. PyCharm разработана компанией JetBrains на основе IntelliJ IDEA. Левая панель инструмента содержит вкладки:
Вкладка После фиксации изменений в проекте по нажатию пиктограммы в верхнем правом меню открывается вкладка Сообщения к комитам целесообразно стандартизировать в формальной логике, например, с применением соглашения Conventional Commits. При наличии предложений на изменение кода в репозитории GitHub со стороны участников проекта, все они отображаются во вкладке Нижняя панель инструментов слева содержит вкладки:
Наиболее востребованной вкладкой является Команда представляет собой запуск pipeline технологии DVC, о которой можно прочитать на сайте разработчика. Ссылка на сайт разработчика технологии (англ.) Установка Основным способом распространения инструмента является бинарная дистрибьюция. Скачать дистрибутив можно по ссылке. Запуск и создание файлов Существует два основных способа начала проекта.
Основная рабочая зона В проектах Data Science PyCharm позволяет осуществлять рефакторинг кода, полученного в результате завершения исследовательской стадии проекта с применением ноутбуков. Фрагменты кода оформляются в виде классов или функций на языке программирования Python. Зеленый символ в правом верхнем углу рабочего окна свидетельствует о том, что код написан с соблюдением стандарта написания кода PEP8. Изучить стандарт можно по ссылке. При наличии замечаний к коду, знак меняется на следующий (цифра указывает на количество замечаний): Особенности PyCharm Community целесообразно использовать при переходе от исследовательской стадии проекта в области науки о данных к стадии разработки готового решения, основанного на результатах испытаний. В стадии разработки на первый план выходит навык написания понятного и поддерживаемого кода, отвечающего определенным стандартам программирования. 9. JetBrains DataSpell Краткий обзор JetBrains DataSpell – интегрированная среда разработки от JetBrains, адаптированная под потребности специалистов в области науки о данных. Левая панель инструмента содержит две основные вкладки:
Вкладка Доступны подключения к локальному серверу, либо к удаленному по URL. Правая панель содержит важный инструмент, который называется Нижняя панель содержит вкладки для работы с Git и консолью, аналогично PyCharm. Установка Дистрибутив DataSpell доступен по ссылке. Запуск и создание файлов После запуска инструмента из основного меню в диалоговом окне доступен выбор среды. По умолчанию указана Conda. Основная рабочая зона Двойное нажатие левой кнопкой мыши на файле ноутбука в левой панели В таком режиме работа с ячейками ноутбука происходит привычным образом – редактирование кода внутри ячейки и операции над самой ячейкой. В режиме отладки, после установки точки останова (break point), под основной рабочей областью ноутбука появляется таблица с историей исполнения в ячейках, а также выводом всех переменных, которые содержатся в пространстве имен ноутбука. Двойное нажатие левой кнопкой мыши на файле Особенности DataSpell является инструментом для fullstack-проекта в области Data Science. Это обеспечивается за счет объединения возможностей работы над исследовательской стадией и стадией разработки в одном интерфейсе. 10. GitHub для Data Science Проекты в области Data Science предполагают работу с ноутбуками в формате Для решения этой проблемы частой практикой является просмотр ноутбука в Google Colab: Пример кода для встраивания ссылки на просмотр ноутбука в файл Файлы Рефакторинг кода и структурирование его в «питоновские» файлы с расширением Хранение файлов с набором данных более 100 Mb в GitHub невозможно. Для решения задачи используется Git LFS. Эта технология обрабатывает большие файлы, сохраняя в репозитории ссылки, но не на сами файлы. Чтобы обойти архитектуру Git, Git LFS создает файл-указатель, который действует как ссылка на хранящийся в другом месте файл. GitHub управляет этим файлом указателя в репозитории. Когда вы клонируете репозиторий, GitHub использует указатель, чтобы найти сам файл. Подробнее о работе с большими файлами можно прочитать в документации GitHub (англ.) Работу с большими файлами также поддерживает технология DVC (Data Version Control). *** Если вы не увидели в обзоре своих любимых инструментов, не стесняйтесь рекомендовать их в комментариях. Больше полезной информации вы можете найти на нашем телеграм-канале «Библиотека data scientist’а». Источник: proglib.io Комментарии: |
|