Любите использовать стикеры? Теперь он доступен в Jupyter Notebooks.

Jupyter Notebook — популярный выбор интегрированной среды разработки (IDE) среди специалистов по данным для исследования данных и экспериментов с машинным обучением. Блокноты представляют собой линейно организованную форму документов, состоящую из ячеек кода, и соответствующие выходные данные, такие как кадры данных, текст или диаграммы, можно найти под ячейками кода. Хотя блокноты полезны для линейного рабочего процесса, исследование данных обычно носит нелинейный характер. В этой статье мы рассмотрим, как преобразовать линейное представление ячеек в нелинейный формат с помощью плавающих и липких ячеек StickyLand[2].

липкая земля

StickyLand — это интерфейс, который нарушает традиционное линейное представление вычислительных блокнотов, добавляя постоянную область в верхней части блокнота, где пользователи могут свободно хранить любые артефакты блокнота, такие как код, заметки и списки задач. Это может помочь пользователям легче перемещаться по записной книжке, писать менее повторяющийся код и лучше управлять состояниями выполнения своего кода[3].

Думайте о StickyLand как о липких заметках (заметках post-it) для ноутбуков Jupyter, где каждая липкая заметка содержит либо уценку, либо ячейку кода.

Мы будем использовать набор данных о ценах перепродажи жилья в Сингапуре[1], который содержит записи о транзакциях по перепродаже домов Советом по развитию жилищного строительства (HDB), чтобы продемонстрировать различные функции StickyLand.

Настраивать

Установить пакет

#CLI
pip install stickyland #0.1.5

Запустите Jupyter Lab (или Jupyter Notebook)

#CLI
jupyter lab #3.3.2

Липкие элементы

Давайте посмотрим на различные элементы StickyLand.

Sticky Dock – это область, которая появляется в правом верхнем углу блокнота и не перемещается, когда пользователь прокручивает блокнот. Его можно запустить, нажав на кнопку Show/Hide StickyLand. Липкая док-станция — это область, используемая для хранения нескольких ячеек уценки или кода. Каждая ячейка находится на отдельной вкладке в липком доке. Мы можем создать липкую уценку или липкий код, перетащив ячейку в липкую док-станцию.

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

  1. Сначала создайте липкий код или уценку, перетащив ячейку с кодом или уценкой в ​​липкую док-станцию.
  2. Нажмите на кнопку Make the cell float

3. На экране появится плавающая ячейка, которую можно перемещать или изменять размер. Мы можем вернуть плавающую ячейку обратно в липкую док-станцию, нажав кнопку вызова в липкой док-станции.

Полезные советы

Скрытые ячейки

После перетаскивания ячеек в липкую док-станцию ​​исходная ячейка не удаляется, а скрывается. Мы можем просто открыть скрытые ячейки, нажав на 3 точки.

Создать новые ячейки

Мы можем создавать новые ячейки из Sticky Dock, выбрав тип ячейки (уценка или код) и нажав create. Содержимое новой ячейки будет видно в липком доке и скрыто (в виде 3 точек) в блокноте.

Редактировать ячейки

Мы можем отредактировать ячейку в липком доке, щелкнув значок pencil, и изменения будут распространены на скрытые ячейки. Это относится как к уценке, так и к ячейкам кода.

Удалить ячейку из липкой док-станции

Нажмите на x на вкладке в липком доке, чтобы вернуть ячейку в исходное положение в блокноте.

Скрыть ввод

Мы можем скрыть код ввода для липких и плавающих ячеек кода, нажав кнопку hide input в липком доке. Это помогает сделать приборную панель более аккуратной и освободить место для других важных ячеек.

Автозапуск

Функция auto-run автоматически перезапускает ячейки с включенным auto-run при выполнении любых других ячеек в записной книжке. Эта функция полезна для ячеек, требующих периодических обновлений. Например, ячейки, отображающие результаты модели, запускаются автоматически при выполнении ячеек, обучающих модель.

Случаи использования

Делать заметки

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

Панель приборов

StickyLand также можно использовать для создания временных информационных панелей. Давайте переместим все исходные ячейки записной книжки в панель мониторинга данных и оценки машинного обучения. Вот как выглядит блокнот после перетаскивания всех ячеек в липкую док-станцию. Исходные ячейки скрыты, и их можно отобразить, щелкнув 3 точки. Белое пространство — это все пространство холста, которое у нас есть для размещения плавающих ячеек.

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

Ограничения

StickyLand, как и все продукты, находящиеся на ранних стадиях разработки, имеет некоторые ограничения. Будет полезно знать эти ограничения перед его использованием.

Прикрепленные элементы не сохраняются между сеансами

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

Невозможно перетаскивать большие плавающие ячейки

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

Прогулка вокруг заключается в редактировании стиля элемента CSS с помощью функции Inspect Element в браузере Chrome.

  1. Щелкните правой кнопкой мыши заголовок плавающей ячейки и выберите Inspect, это должно привести нас к странице проверки элемента.
  2. Найдите элемент, который ссылается на плавающую ячейку

3. Мы редактируем element.style, включая значения высоты и ширины. Имея доступ к правому нижнему углу плавающей ячейки, мы можем выполнить обычное изменение размера перетаскиванием.

Ограниченное пространство на холсте

Пространство холста может быть весьма ограниченным. Это все ячейки, в которые я могу поместиться, и при этом диаграммы и текст могут быть удобно видны на 27-дюймовом дисплее. Обратите внимание, что прокрутка холста вниз не помогает увеличить пространство для размещения плавающих ячеек.

Заключение

В этой статье мы представили StickyLand, который можно использовать для ведения заметок и создания временных информационных панелей в Jupyter Notebooks для быстрого исследования данных. Несмотря на то, что у StickyLand есть ограничения, определенно интересно ожидать его дальнейшего развития и того, как он может помочь повысить производительность пользователей Jupyter Notebook. Ознакомьтесь с его докладом на конференции здесь [3].

Ссылка

[1] Содержит информацию из Resale Flat Prices, доступ к которой был получен 17 марта 2022 г. https://data.gov.sg/dataset/resale-flat-prices которая доступна в соответствии с условия Сингапурской лицензии на открытые данные версии 1.0 https://data.gov.sg/open-data-licence. Разрешено для публичного использования (коммерческого и некоммерческого).

[2] StickyLand GitHub

[3] Zijie J. Wang, Katie Dai и W. Keith Edwards. 2022. StickyLand: нарушение линейного представления вычислительных ноутбуков. Расширенные тезисы конференции CHI по человеческому фактору в вычислительных системах (CHI ’22 Extended Abstracts), 29 апреля — 5 мая 2022 г., Новый Орлеан, Луизиана, США. ACM, Нью-Йорк, штат Нью-Йорк, США, 7 страниц. https://doi.org/10.1145/3491101.3519653