Картинки по клеточкам в тетради про любовь: Рисунки по клеточкам «Любовь» ☆ 46 рисунков
17.07.2023 Разное
ноутбуков Jupyter: избегайте этих 4 ошибок | Тара Бойл. на Unsplash
Jupyter Notebooks — мой любимый способ писать код — особенно при первом изучении нового набора данных.
Они позволяют вам видеть как код, так и результаты на каждом шаге, хранить переменные и наборы данных в памяти и облегчают быстрое и эффективное экспериментирование.
Блокноты Jupyter позволяют нам объединять код, описательный текст, уравнения и визуализации в одном документе.
Но с такими большими способностями приходит и большая ответственность. Здесь мы обсудим четыре распространенные ошибки специалистов по данным, которые сводят на нет величие блокнота Jupyter.
Запуск ячеек не по порядку
Много раз во время анализа мы запускаем ячейки несколько раз и не по порядку.
Когда я получаю сообщение об ошибке или код не делает то, что мне нужно, я запускаю эту ячейку снова и снова, пока не получу желаемый результат.
При экспериментировании в этом нет абсолютно ничего плохого!
Проблема возникает, когда мы пытаемся подготовить наш код к производству, будь то модель машинного обучения или простой отчет, экспортируемый в Excel.
Ключ программирования — воспроизводимые результаты.
Любой, кто запускает нашу записную книжку с одинаковыми входными данными, должен получить одинаковый результат — без необходимости помнить о том, что пятая ячейка должна запускаться дважды перед третьей и шестой ячейками.
Пример: ошибка, когда ячейки выводятся не по порядку — изображение автораВы… должны писать записные книжки таким образом, чтобы любой мог повторно запустить их с теми же входными данными и получить те же выходные данные. Ваш блокнот должен быть исполняемым сверху вниз…
— Манифест Google Jupyter Notebook
Обеспечение того, чтобы наши блокноты работали сверху вниз без ошибок, делает блокноты профессиональными.
Возможно, что еще более важно, обеспечение работы ноутбука сверху вниз и без ошибок делает нас на один шаг ближе к готовому коду.
Размещение слишком большого количества данных в одной ячейке
Одна вещь, которая действительно отличает блокноты Jupyter от типичных текстовых редакторов, таких как VSCode или Sublime Text, заключается в том, что он дает вам возможность выполнять код пошагово и визуализировать вывод на каждом этапе.
Он хранит переменные в памяти и позволяет нам постоянно писать и исправлять наш код, не ожидая потенциально трудоемких операций, таких как чтение больших наборов данных или обучение модели, после каждого крошечного изменения.
Когда мы начинаем переполнять одну ячейку слишком большим количеством кода, мы теряем часть интерактивности, которая делает Juypter таким замечательным.
Пример: Втиснуть слишком много вещей в одну ячейку — Изображение автораКогда вы впихиваете все в одну ячейку, весь код в этой ячейке выполняется одновременно, и вы теряете возможность видеть, что происходит на каждом этапе. Это также может затруднить понимание того, что делает каждый шаг.
Поскольку на экран автоматически выводится только последняя строка ячейки, мы можем потерять часть вывода, если не позаботимся о добавлении оператора печати к строкам, где мы хотим просмотреть вывод, как мы можем видеть на изображении выше.
Втискивание всего кода в одну ячейку дает менее интерактивные результаты и может скрывать ключевые детали.
Я не говорю о том, чтобы ограничить каждую ячейку только одной строкой кода, а о том, чтобы сгруппировать код таким образом, чтобы это имело смысл.
Пример: сгруппируйте код таким образом, чтобы он был плавным и понятным — изображение автораЭто выглядит лучше! Код в каждой ячейке выполняет одну задачу и выводит ключевую информацию, чтобы мы знали, что код работает должным образом, и чтобы мы могли увидеть, как выглядят данные.
Не использовать преимущества ячеек Markdown
Markdown — это круто! Это позволяет нам добавлять описательный текст с форматированием в наши записные книжки и может сделать нашу работу отшлифованной и готовой к презентации.
Руководство по уценке содержит отличную памятку для начала работы. Чтобы создать ячейку Markdown с помощью сочетаний клавиш, нажмите клавишу esc, а затем клавишу m.
Мне нравится использовать ячейки Markdown для создания плана анализа. Например, когда мы начинаем домашнее испытание, подобное тому, что мы обсуждали здесь, мы можем использовать Markdown в качестве контрольного списка, чтобы указать направление нашего анализа и сосредоточиться на текущей задаче.
План EDA с использованием уценки — изображение автораТеперь, когда у нас есть план, мы можем начать писать код, отвечающий каждой цели. Особенно при работе с новым и незнакомым набором данных создание списка дел с уценкой может помочь в нашем анализе и сосредоточиться.
Уценка также очень полезна при подготовке к презентации. Мы можем добавить свои мысли и идеи при подготовке к представлению нашего анализа заинтересованным сторонам.
Ячейки Markdown с ключевыми сведениями также чрезвычайно полезны при представлении наших блокнотов, будь то проверка кода или бизнес-пользователи.
Пример: использование Markdown для комментирования визуализаций — изображение автораИмпорт пакетов в блокноте
При работе в блокноте мне часто приходится импортировать пакет, о котором я не подумал сразу.
Хотя в данный момент может быть проще и быстрее добавить оператор импорта в текущую ячейку, мы не должны этого делать!
Рекомендуется добавлять все операторы импорта в первую ячейку кода записной книжки.
Это не только придает нашему блокноту безупречный и профессиональный вид, но и помогает избежать головной боли, когда мы хотим преобразовать блокнот в готовый к работе сценарий.
Пример: Импорт пакетов по всей записной книжке — изображение автораХотя наш код работает без ошибок — и записная книжка может работать сверху вниз, приведенный выше пример выглядит загроможденным и немного запутанным.
Во время работы с записной книжкой совершенно нормально осознавать, что нам нужен еще один пакет на полпути анализа, мы должны попытаться сохранить все операторы импорта вместе в первых ячейках. Поверьте мне, ваше будущее «я» скажет вам спасибо!
Пример: все операторы импорта в первых ячейках — изображение автораЗаключение
Здесь мы обсудили некоторые распространенные методы, которых следует избегать при разработке с использованием блокнотов Jupyter. Исправление этих плохих практик поможет нашим ноутбукам выглядеть безупречно и стать на шаг ближе к производству.
Есть ли какие-то плохие упражнения с блокнотом, которые я пропустил? Я хотел бы услышать о ваших любимых мозаях Jupyter в комментариях!
StickyLand: Sticky Notes в Jupyter Notebook
Любите использовать стикеры? Теперь он доступен в Jupyter Notebooks. Блокноты представляют собой линейно организованную форму документов, состоящую из ячеек кода, и соответствующие выходные данные, такие как кадры данных, текст или диаграммы, можно найти под ячейками кода. В то время как блокноты полезны для линейного рабочего процесса, исследование данных обычно носит нелинейный характер. В этой статье мы рассмотрим, как преобразовать линейное представление ячеек в нелинейный формат с помощью плавающих и липких ячеек StickyLand[2].
StickyLand — это интерфейс, который ломает традиционное линейное представление вычислительных блокнотов, добавляя постоянную область в верхней части блокнота, где пользователи могут свободно хранить любые артефакты блокнота, такие как код, заметки и списки задач. Это может помочь пользователям легче ориентироваться в записной книжке, писать менее повторяющийся код и лучше управлять состояниями выполнения своих кодов[3].
StickyLand можно рассматривать как стикеры для Jupyter Notebook, где каждый стикер содержит либо уценку, либо кодовую ячейку.
Изображение автораМы будем использовать набор данных о ценах перепродажи жилья в Сингапуре[1], который содержит записи о транзакциях по перепродаже домов Советом по развитию жилищного строительства (HDB), чтобы продемонстрировать различные функции StickyLand.
Установить пакет
#CLI
pip install stickyland #0.1.5
Запустить Jupyter Lab (или Jupyter Notebook)
#CLI
jupyter lab #3.3.2
Let’ Взгляните на различные элементы StickyLand.
Липкий док — это область, которая появляется в правом верхнем углу записной книжки и не перемещается, когда пользователь прокручивает записную книжку. Его можно запустить, нажав на кнопку Show/Hide StickyLand
. Липкая док-станция — это область, используемая для хранения нескольких ячеек уценки или кода. Каждая ячейка находится на отдельной вкладке в липком доке. Мы можем создать липкую уценку или липкий код , перетащив ячейку в липкую док-станцию.
A 9Плавающая ячейка 0129 плавает над блокнотом и не меняет своего положения при прокрутке блокнота. Мы можем настроить размер плавающих ячеек, перетащив правый нижний угол ячейки, и изменить положение плавающей ячейки, перетащив заголовок ячейки. Плавающая ячейка может быть уценкой или кодовой ячейкой. Чтобы создать плавающую ячейку:
- Сначала создайте липкий код или уценку, перетащив код или ячейку уценки в липкую док-станцию
- Нажмите кнопку
Сделайте ячейку плавающей
3. На экране появится плавающая ячейка, которую вы можете перемещать или изменять размер. Мы можем вернуть плавающую ячейку обратно в липкую док-станцию, нажав кнопку вызова в липкой док-станции.
GIF от автораСкрытые ячейки
После перетаскивания ячеек в липкую док-станцию исходная ячейка не удаляется, а скрывается. Мы можем просто открыть скрытые ячейки, нажав на 3 точки.
Изображение автораСоздать новые ячейки
Мы можем создать новые ячейки из Sticky Dock, выбрав тип ячейки (уценка или код) и нажав создать
. Содержимое новой ячейки будет видно в липком доке и скрыто (в виде 3 точек) в блокноте.
Редактировать ячейки
Мы можем отредактировать ячейку в липком доке, щелкнув значок карандаша
, и изменения будут распространены на скрытые ячейки. Это относится как к уценке, так и к ячейкам кода.
Удалить ячейку из липкой док-станции
Нажмите на x
вкладку в липкой док-станции, чтобы вернуть ячейку в исходное положение в блокноте.
Скрыть ввод
Мы можем скрыть код ввода для липких и плавающих ячеек кода, нажав кнопку скрыть ввод
в липком доке. Это помогает сделать приборную панель более аккуратной и освободить место для других важных ячеек.
Автозапуск
Функция автоматического запуска
автоматически повторно запускает ячейки с включенным автоматическим запуском
при выполнении любых других ячеек в блокноте. Эта функция полезна для ячеек, требующих периодических обновлений. Например, ячейки, отображающие результаты модели, запускаются автоматически при выполнении ячеек, обучающих модель.
Делать заметки
Простой вариант использования — использовать StickyLand в качестве стикера для заметок. Вместо того, чтобы переключаться на отдельный блокнот для создания заметок или прокручивать для ввода заметок в ячейку уценки в верхней части блокнота, мы можем делать заметки в закрепленной ячейке уценки. Поскольку липкая док-станция не перемещается при прокрутке, у нас всегда будет доступ к нашим заметкам.
Изображение автораStickyLand также можно использовать для создания временных информационных панелей. Давайте переместим все исходные ячейки записной книжки в панель мониторинга данных и оценки машинного обучения. Вот как выглядит блокнот после перетаскивания всех ячеек в липкую док-станцию. Исходные ячейки скрыты, и их можно отобразить, щелкнув 3 точки. Белое пространство — это все пространство холста, которое у нас есть для размещения плавающих ячеек.
Вот как выглядит панель мониторинга после размещения выбранных ячеек на своих местах. Из-за ограниченного пространства холста ячейки с интерактивными выводами могут быть полезны для предоставления пользователям дополнительной информации.
GIF от автораStickyLand, как и все продукты, находящиеся на ранних стадиях разработки, имеет некоторые ограничения. Будет полезно знать эти ограничения перед его использованием.
Прикрепленные элементы не сохраняются между сеансами
Все прилипшие элементы будут удалены после закрытия блокнота. Это может быть проблемой, если у нас есть исследования данных, которые нельзя выполнить за один сеанс. Это также означает, что мы не сможем делиться блокнотами с соавторами. Вот связанная проблема github, которая дала более подробную информацию.
Невозможно изменить размер больших плавающих ячеек
Размер плавающих ячеек можно изменить, перетащив правый нижний угол ячейки. Размер длинных плавающих ячеек, превышающих пространство холста, изменить нельзя, так как правый нижний угол плавающей ячейки выходит за пределы пространства холста.
Изображение автораПрогулка вокруг заключается в редактировании стиля элемента CSS с помощью функции Inspect Element в браузере Chrome.
- Щелкните правой кнопкой мыши заголовок плавающей ячейки и выберите
Inspect
, это должно привести нас на страницу Inspect Element. - Найдите элемент, который ссылается на плавающую ячейку
3. Мы редактируем element.style, включая значения высоты и ширины. Имея доступ к правому нижнему углу плавающей ячейки, мы можем выполнить обычное изменение размера перетаскиванием.
Ограниченное пространство на холсте
Место на холсте может быть довольно ограниченным. Это все ячейки, в которые я могу поместиться, и при этом диаграммы и текст могут быть удобно видны на 27-дюймовом дисплее. Обратите внимание, что прокрутка холста вниз не помогает увеличить пространство для размещения плавающих ячеек.
Изображение автораВ этой статье мы представили StickyLand, который можно использовать для ведения заметок и создания временных информационных панелей в Jupyter Notebooks для быстрого исследования данных. Несмотря на то, что у StickyLand есть ограничения, определенно интересно ожидать его дальнейшего развития и того, как он может помочь повысить производительность пользователей Jupyter Notebook. Ознакомьтесь с докладом на конференции здесь [3].
[1] Содержит информацию о ценах на квартиры при перепродаже, по состоянию на 17 марта 2022 г. с https://data.gov.sg/dataset/resale-flat-prices , который предоставляется в соответствии с условиями Сингапурской лицензии на открытые данные версии 1.
Leave a Comment