
Слаженная работа в команде имеет первостепенное значение во многих отраслях. Поэтому инструменты для общения, а также для организации и версионирования этапов работы и данных проекта стали практически незаменимыми. Для науки о данных и моделирования существуют различные приложения, которые стремятся соответствовать требованиям. Веб-решение Jupyter Notebook создает бесшовный мост между программным кодом и повествовательным текстом, позволяя пользователям в режиме реального времени создавать код, уравнения, визуализации и многое другое, а также делиться пояснительной информацией. Что стоит за приложением с открытым исходным кодом, разработанным и управляемым Project Jupyter?
Что такое Jupyter Notebook?
Jupyter Notebook — это клиент-серверное приложение, созданное некоммерческой организацией Project Jupyter. Оно было выпущено в 2015 году. Оно позволяет создавать и обмениваться веб-документами в формате JSON, которые следуют версионной схеме и упорядоченному списку ячеек ввода/вывода. Эти ячейки предоставляют место для кода, текста с разметкой, математических формул и уравнений или медиаконтента (rich media), среди прочего. Веб-клиентское приложение, которое можно запустить с помощью всех обычных браузеров, можно использовать для обработки блокнота, если в системе также установлен и используется сервер Jupyter Notebook. Созданные документы Jupyter можно экспортировать в HTML, PDF, markdown или Python. Кроме того, ими можно поделиться с другими пользователями по электронной почте, через Dropbox, GitHub или собственный просмотрщик Jupyter Notebook.
Название проекта «Jupyter» составлено из трех его основных языков программирования — Julia, Python и R.
Два центральных компонента Jupyter Notebook — это набор различных ядер (интерпретаторов), а также приборная панель. Ядра — это небольшие программы, которые обрабатывают специфические для языка запросы и выдают соответствующие ответы. Стандартным ядром является IPython, интерпретатор командной строки, позволяющий работать с Python. Более 50 других ядер обеспечивают поддержку других языков, таких как C++, R, Julia, Ruby, JavaScript, CoffeeScript, PHP или Java. С одной стороны, приборная панель служит интерфейсом управления отдельными ядрами, а с другой — центром для создания новых документов Notebook или открытия существующих проектов. Jupyter Notebook поставляется под модифицированной лицензией BSD и поэтому свободно доступен для всех пользователей.
Чем Jupyter Notebook отличается от JupyterHub и JupyterLab?
Jupyter Notebook — не единственное предложение с открытым исходным кодом от проекта Jupyter: с JupyterHub и JupyterLab команда разработчиков предлагает два других сервиса, тесно связанных с интерактивной средой кода.
JupyterHub — это многопользовательский сервер, включая прокси, который связывает между собой несколько экземпляров Jupyter-Notebook. Он может быть размещен либо в облаке, либо на собственном оборудовании и позволяет использовать общую среду Notebook. Администратор сервера управляет доступом к соответствующим документам (может быть реализован метод аутентификации), в то время как отдельные пользователи могут полностью сосредоточиться на своих задачах. Подробную информацию об установке и размещении JupyterHub предлагает официальный репозиторий GitHub многопользовательского решения.
В целях защиты вашей конфиденциальности видео не будет загружаться, пока вы не нажмете на него.
JupyterLab является официальным преемником Jupyter Notebook и в перспективе должен заменить основную программу. По сравнению со своим предшественником, JupyterLab предлагает больше возможностей для адаптации и взаимодействия и, кроме того, его еще проще расширять. В полностью переработанном пользовательском интерфейсе можно не только открывать и отображать текстовые редакторы, терминалы и другие компоненты параллельно с документами Notebook, но и внедрять ссылки на Google Drive и другие облачные сервисы, дополнительные пункты меню или клавиши быстрого доступа, чтобы еще больше упростить работу с кодовой средой.
В целях защиты вашей конфиденциальности видео не будет загружаться, пока вы на него не нажмете.
Для каких целей подходит Jupyter Notebook?
Jupyter Notebook представляет собой среду, идеально соответствующую требованиям и рабочим процессам науки о данных и моделирования. В одном экземпляре можно писать, документировать и использовать пользовательские коды, визуализировать данные, проводить расчеты и оценивать соответствующие результаты. Пользователи выигрывают от того, что любой код в независимых ячейках может быть размещен, в частности, на стадии прототипа, что позволяет тестировать конкретные блоки кода по отдельности. Благодаря многочисленным дополнительным ядрам Jupyter не ограничивается Python в качестве программного языка, что означает большую гибкость при кодировании и анализе.
Основные цели использования Jupyter Notebook включают:
- Очистка данных: Дифференциация важных и неважных данных при анализе больших данных.
- Статистическое моделирование: Математические методы для определения оценочной вероятности распределения конкретного признака.
- Создание и обучение моделей машинного обучения: Разработка, программирование и обучение моделей на основе машинного обучения
- Визуализация данных: Графическое представление данных, проясняющее закономерности, тенденции и т.д.
Как работает Jupyter Notebook?
Любой желающий воспользоваться возможностями Jupyter Notebook должен сначала установить клиентское и серверное приложение среды практического кода на своей системе (или, как вариант, в облаке). Единственным условием является наличие актуальной версии Python. По этой причине команда Jupyter рекомендует загрузить дистрибутив Anaconda, который включает в себя Jupyter Notebook, а также Python в дополнение к различным другим программным пакетам для расчетов в области науки о данных и т.д. После этого сервер Notebook можно запустить через командную строку, а затем вызвать приборную панель в браузере по URL ‘http://localhost:8888’.

В целях защиты конфиденциальности видео не будет загружаться, пока вы не кликните на него.
Пользователи помещают новые папки в каталог Jupyter Notebook, открывают встроенный текстовый редактор и терминал или начинают новый проект Jupyter. Каждый вновь созданный проект включает в себя только одно пустое поле для ввода данных. Другие поля могут быть добавлены, библиотеки импортированы или виджеты (интерактивные элементы) встроены через строку меню. На панели также есть кнопки для экспорта и остановки завершенных кодов, для сохранения или экспорта всего документа, а также для выбора базового ядра.

На официальной домашней странице Jupyter вы можете протестировать Jupyter Notebook без его установки.
Краткое описание преимуществ Jupyter Notebook
Любой, кто хочет писать сценарии и тестировать их в реальном времени, визуализировать данные или проводить сложные математические расчеты, имеет первоклассное решение с Jupyter Notebook. Результаты можно экспортировать всего несколькими щелчками мыши и в различных форматах, а также отправлять непосредственно по электронной почте. Пользователи многопользовательского сервиса JupyterHub могут даже совместно обрабатывать «блокноты» для оптимального продвижения соответствующего проекта в команде. Поскольку Jupyter написан на языке Python, специалисты по Python имеют преимущество при использовании этого приложения с открытым исходным кодом — благодаря разнообразным готовым интерпретаторам для других языков, однако, также возможно простое кодирование с помощью других переменных, таких как C++, PHP или Java.
Резюме преимуществ Jupyter Notebook:
- Открытый исходный код (модифицированная лицензия BSD)
- Можно использовать бесплатно
- Браузерный
- Живой код
- Различные варианты экспорта и обмена результатами
- Управление версиями
- Возможность сотрудничества (JupyterHub)
- Поддерживается более 50 языков программирования