Расширьте возможности своего ноутбука Jupyter с помощью этих советов | by Zolzaya Luvsandorj
Photo by Shelby Deeter on UnsplashТехнический инструментарий
Практические советы по улучшению документирования вашего рабочего процесса
Одной из замечательных особенностей Jupyter Notebook (далее Notebook) является возможность использовать ячейки уценки вместе с ячейками кода. Эти ячейки уценки позволяют нам документировать более выразительно и четко, чтобы будущим пользователям было легче понять рабочий процесс Блокнота. В этом посте я поделюсь несколькими своими советами по обогащению документации в ячейках уценки без установки каких-либо расширений.
Фото Елены Клоппенбург на UnsplashЕсли вы использовали Notebook, вы, вероятно, уже знакомы с основами Markdown. Если вам нужно освежить в памяти, вот минутное введение в Markdown и его часто используемый синтаксис:
#### Заголовки
# Заголовок 1
## Заголовок 2#### Стили
*Курсив*, **полужирный **, _underscore_, ~~перечеркнутый~~#### Гиперссылка
[гиперссылка](https://www.markdownguide.org/)#### Таблица
| По умолчанию | Выровнено по левому краю | Выравнивание по центру | Выровнено по правому краю |
|---------|:--------------|:--------------:|------ --------:|
| По умолчанию | Слева | Центр | Правый |#### Прочее
* Маркированный элемент 1
* Маркированный подэлемент 1
* Маркированный элемент 2***
1. Заказанный элемент 1
1.1. Заказанный подэлемент 1
2. Заказанный элемент 2***
- [ ] Неотмеченный флажок
- [x] Отмеченный флажок
Его визуализированный вывод:
Обновив основы, пришло время взглянуть на более сложные функции ячеек Markdown для обогатить документацию для улучшения читабельности.
Большой кусок текста в черно-белом цвете может оттолкнуть от чтения. Один из способов обогатить черно-белый текст и улучшить его читаемость — добавить цвета для выделения и всплывающих ключевых частей. Вот три разных способа добавить цвет к тексту:
🎨 1.1. Цвет текста
Мы можем изменить цвет текста с помощью тега html
. Мы можем использовать имена цветов или шестнадцатеричный код цвета:
Пример: зеленый текст, *синий курсивный текст* и **красный полужирный текст**.
Если вы хотите узнать больше названий цветов, это может пригодиться. Если названия цветов не совсем отражают то, что вам нужно, вы можете изучить шестнадцатеричные цвета, чтобы получить доступ к более широкому диапазону параметров. Вот мой любимый ресурс для изучения шестнадцатеричных цветов.
🎨 1.2. Выделение текста
Мы также можем выделить текст с помощью тега html
:
Кроме того, мы также можем выделить текст.
Теперь легче привлечь внимание к выделенной части текста.
🎨 1.3. Use alerts
Наконец, мы можем отформатировать фон и цвет шрифта с помощью bootstrap alert, чтобы сделать текстовую документацию более привлекательной для чтения:
Пример текста, выделенного синим фоном.![]()
Пример, выделенного текста на зеленом фоне.
Пример текста, выделенного желтым фоном.
Пример текста, выделенного красным фоном.
Эти форматы прекрасны! Добавление цветов может сразу улучшить читабельность документации Notebook, выделяя ключевые моменты и делая документацию менее скучной. Таким образом, становится легче просмотреть и быстро получить основные моменты. 9m (y_i \ln(\hat p(y_i=1)) + (1-y_i) \ln(1-\hat p(y_i=1))) \end{equation}
Если вы не знакомы с LaTeX , ознакомьтесь с этим руководством или этим, чтобы начать.
📍 2.2. Используйте кодовые блоки
Иногда полезно показывать ссылки на код в ячейках уценки вместо того, чтобы запускать их в ячейках кода. Мы можем использовать одиночные обратные кавычки `
, чтобы отобразить встроенный блок кода:
Если вы не установили textblob, вы можете установить его с помощью: `pip install texblob`.
Для большего фрагмента кода мы можем использовать тройные обратные кавычки ```
:
Если вы не установили библиотеки, вы можете установить их с помощью следующей команды:
```
conda install pandas, numpy, sklearn -y
pip install textblob
```
Если мы укажем имя языка после первой тройки `
, блок кода будет отформатирован красочно, где это применимо:
```python
{"минимум": 10, "максимум" ": 50, "имя": "оптимизатор"}
```
📍 2.

Отступ — это еще один способ форматирования текста для улучшения читабельности. Мы можем добавить отступ с помощью >
:
Пример предложения без отступа здесь.
> **Примечание.** Текст с отступом.
«Изображение стоит тысячи слов».
Документация не всегда должна быть в словах. Изображения и другие медиа могут помочь нам передать идеи, которые иначе трудно выразить с помощью текста. Добавление соответствующих носителей — еще один отличный способ обогатить документацию необходимой информацией для будущих пользователей.
📷 3.1. Встраивание изображений, включая GIF-файлы
Мы можем добавлять изображения в ячейки уценки, используя тег html
:
Конвейер, ColumnTransformer и FeatureUnion объяснили![]()
Здесь, example.jpeg
сохраняется в той же папке, что и записная книжка. Мы можем изменить размер изображения, используя аргументы ширины
или высоты
. Например,
изменит размер отображаемого изображения до нужной ширины, сохраняя при этом соотношение ширины и высоты.
Если добавление диаграмм, диаграмм или других визуализаций данных в статичное изображение не совсем отражает то, что мы хотим передать, мы можем встроить GIF, анимированное изображение, используя точно такую же структуру синтаксиса:
Введение в Git для науки о данных![]()
Путь к файлу также может быть веб-ссылкой:
📹 3.2. Встроить видео
«Видео (одной минуты) стоит 1,8 миллиона слов».
Если GIF недостаточно, следующий уровень — использование видео. Мы можем использовать тег html для отображения видео:
Например, экран, записывающий, как выполнить задачу, сохраняя его как видео файл и встраивание видео в Блокнот может быть полезно для будущих пользователей.
⚪️3.3. Добавляйте фигуры и эмодзи
Длинный абзац простого текста может быть скучным и неинтересным для чтения. Добавление форм и эмодзи со вкусом может сделать текст более интересным и привлекательным для чтения:
➤ Пункт один
➤ Пункт два
➤ Пункт три
✅ Образец текста A
✅ Образец текста B
✅ Образец текста C
Ознакомьтесь с этим, чтобы изучить другие фигуры (и смайлики). Эта шпаргалка по смайликам полезна при поиске смайликов по имени.
Вуаля! Это были мои советы по обогащению документации Jupyter Notebook.✨ Мы можем не использовать все эти функции одновременно. Но знание того, как их использовать, подготовит вас, когда появится подходящая возможность.
Фото Криса Лоутона на Unsplash Хотели бы вы получить доступ к большему количеству подобного контента? Участники Medium получают неограниченный доступ к любым статьям на Medium. Если вы станете участником, используя мою реферальную ссылку , , часть вашего членского взноса пойдет непосредственно на мою поддержку.
Спасибо, что прочитали мой пост. Если вы хотите узнать больше о Markdown, ознакомьтесь с этим руководством. Если вам интересно, вот ссылки на некоторые из моих постов:
◼️ Организуйте свой блокнот Jupyter с помощью этих советов
◼️ Полезные магические команды IPython
◼️ Введение в виртуальную среду Python для обработки данных
◼️ Введение в Git для обработки данных
◼️ Простые визуализации данных в Python, которые вам пригодятся
◼️ 6 простых советов по созданию более красивых и настраиваемых графиков в Seaborn (Python) )
◼️️ 5 советов для пользователей pandas
◼️️ Написание 5 общих SQL-запросов в pandas
Пока пока 🏃💨
Представьте свои проекты по науке о данных с Jupyter Notebook Slides! | Тахсин Маиша | Обучение машинному обучению
Искусство перехода от кода к общению.
Создание слайдов презентаций для технических лекций, демонстрации продукта в реальном времени и обмена анализом — одна из тех скучных задач, которая приносит большую отдачу по сравнению с инвестициями. Хороший слайд презентации может упростить обмен результатами сложного анализа и использовать его для краткого общения с клиентами и акционерами. Создание хороших слайдов — это больше искусство, чем ремесло, однако использование хороших инструментов может иметь большое значение.
Проблемы с общими инструментами презентации
Microsoft Powerpoint, Google Slides, Prezi — некоторые из наиболее часто используемых инструментов для создания презентаций. Но когда дело доходит до создания технических презентаций с помощью кода, эти инструменты часто не работают. Делать снимки кода и вставлять изображения в слайды неэффективно, потому что шрифты часто размываются. Также сложно легко настроить слайды при использовании Power Point или Google Slides. Часто приходится изменять размер изображений, а общий вид слайдов в конечном итоге выглядит скорее корпоративным, чем техническим.
Преимущества Jupyter Slides
Учитывая все эти проблемы, очень важно найти хороший инструмент для презентации, который позволяет нам эффективно предоставлять код, визуализацию, диаграмму модели и результаты выполненного кода для презентации проектов машинного обучения.
Для моих личных проектов я обнаружил, что слайды лучше подходят для общения с широкой аудиторией по сравнению с прямым совместным использованием блокнотов Jupyter, потому что многие люди не хотят сразу смотреть на стену кода, если они также не являются техническими.
В основном я работаю на Python и являюсь большим поклонником Jupyter Notebooks. Поэтому я был очень рад узнать, что мы можем напрямую конвертировать наши записные книжки в HTML-слайд-шоу с помощью HTML-фреймворка для презентаций раскрывать.js с помощью команд nbconvert.
Выходной слайд будет выглядеть следующим образом:
Создание блокнота
Первым шагом является создание блокнота, который будет использоваться для создания слайдов. Добавляйте свои ресурсы, заметки, визуализации, форматируйте код по мере необходимости. Исправьте относительный путь, URL-адрес, цитату, диаграммы и т. д. Это тетрадь, которая использовалась здесь.
Форматирование ячеек
Затем мы должны отформатировать ячейки для слайд-шоу. Для этого перейдите в «Вид» → «Панель инструментов ячейки» → «Слайд-шоу». Это создает светло-серую полосу поверх каждой ячейки для настройки типа слайда. Помните, что в Jupyter Notebook ячейками являются блоки, содержащие код и уценку. Для каждой ячейки есть 5 вариантов. Слайд, подслайд, фрагмент, пропуск и заметки.
- Слайд : Представляет каждую ячейку на отдельном слайде. Подходит для содержания заголовков, подзаголовков, изображений и текстовых заметок. Используйте правую стрелку для навигации.
- Дополнительный слайд: Продолжение предыдущего слайда. Используйте стрелку вниз, чтобы перейти к подслайду со слайда.
- Фрагмент : Фрагмент интересен тем, что он представляет несколько ячеек на одном слайде одну за другой.
- Пропустить/Примечания : Пропустить пропускает отмеченные ячейки. Неиспользуемые для презентации ячейки также можно пометить как примечания.
После этого перейдите в каталог записной книжки и введите команду nbconvert, чтобы преобразовать записную книжку в слайды, которые откроются в вашем браузере.
Чтобы показывать слайды в формате по умолчанию, введите и вставьте имя своей записной книжки вместо *.ipynb
jupyter nbconvert *.ipynb --to slides --post serve
Указанная выше записная книжка была сгенерирована этой командой. Обратите внимание на дополнительную конфигурацию, которую я использовал с SlidesExporter
.
jupyter nbconvert dino_viz.ipynb --to slides --post serve
--SlidesExporter.reveal_theme=serif
--SlidesExporter.reveal_scroll=True
--SlidesExporter.reveal_transition=none
Краткий обзор используемой конфигурации:
-
SlidesExporter.reveal_theme
: устанавливает тему с засечками. Также есть тема по умолчанию и тема неба, а также многие другие. -
SlidesExporter.reveal_scroll
: устанавливает для параметра прокрутки значение True. Для больших изображений или длинных ячеек полезны параметры прокрутки. Это также полезно для визуализации фреймов данных. -
SlidesExporter.reveal_transition
: устанавливает для перехода значение «Нет». Я не люблю использовать какие-либо эффекты перехода, потому что их добавление создает своего рода рывки на экране, что я считаю неподходящим для кода. Опции: нет, затухание, скольжение, выпуклость, вогнутость и масштабирование.
Полный список параметров конфигурации можно найти здесь:
Параметры конфигурации — документация nbconvert 5.3.2.dev0
Параметры конфигурации можно установить в файле ~/.jupyter/jupyter_nbconvert_config.py или на командная строка, когда…
nbconvert.readthedocs.io
Слайды будут обслуживаться через порт 8000. Однако не останавливайтесь на достигнутом. Поэкспериментируйте с несколькими макетами и фрагментами (особенно), чтобы увидеть, как они лучше всего подходят для вашего собственного проекта. Жесткий проект, основанный на машинном обучении, может преуспеть в том, чтобы придерживаться темы по умолчанию, в то время как проекту, основанному на журналистике данных, может потребоваться попробовать все эффекты перехода. Также может помочь добавление пользовательских файлов .css.
Dheepak Krishnamurthy написал об этом невероятно хороший пост, который я использовал с минимальными изменениями. Я просто добавлю, как я это сделал, и добавлю некоторые подробности.
- Сначала клонируйте репозиторий manifest.js в каталог, содержащий записную книжку, чтобы добавить его в качестве подмодуля.
git submodule add https://github.com/hakimel/reveal.js.git manifest.js
- Переименуйте свой блокнот в
index.ipynb
, потому что команда nbconvert создает html-файл с именем блокнота, и мы хотите создать файл index.html для нашего сайта, чтобы разместить его на страницах github. - Запустите сценарий в терминале, чтобы создать файл
index.slides.html
.
jupyter nbconvert --to slides index.ipynb --reveal-prefix=reveal.js
- Поскольку я добавил свои параметры конфигурации, я использовал следующее:
jupyter nbconvert --to slides index.ipynb --reveal-prefix=reveal.js --SlidesExporter.reveal_theme=serif
--SlidesExporter.reveal_scroll=True
--SlidesExporter.reveal_transition=none
- Отправьте их на github в новом репозитории и сделайте этот репозиторий сайтом страниц github. Самый простой способ сделать это — просто перейти в настройки → раздел страниц Github → выбрать мастер в качестве источника → сохранить.
- Ваш сайт будет доступен по адресу username.github.io/reponame/. В этом случае слайды доступны здесь. Вы можете просто щелкнуть ссылку «Ваш сайт опубликован здесь» в настройках.
- Если вместо клонирования вы создали форк раскрыть.js, обратитесь к сообщению Криснамурти и следуйте процедуре.
ПРИМЕЧАНИЕ. Я работаю в Windows, поэтому команды терминала могут немного отличаться в зависимости от вашей ОС. В этом случае обратитесь к stackoverflow или другим ресурсам, потому что я не смогу помочь.
И спасибо Мэтью Спеку за его замечательную статью, которая помогла мне начать работу со слайдами Jupyter.