Streamlit для Data Science. Создаем интерактивные приложения в Python
Покупка
Новинка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Перевод:
Груздев Артем Владимирович
Год издания: 2024
Кол-во страниц: 356
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Специалитет
ISBN: 978-5-93700-275-4
Артикул: 856467.01.99
Если вы работаете с данными на Python и хотите создавать высококачественные приложения, демонстрирующие модели машинного обучения и генерирующие красивые интерактивные визуализации, то эта книга для вас. Описана настройка среды разработки и создание базового приложения с нуля, интеграция Streamlit с Hugging Face, OpenAI и Snowflake, показаны лучшие практики прототипирования проектов с помощью Streamlit.
Издание предназначено для специалистов по обработке данных и энтузиастов машинного обучения, которые хотят начать создавать интерактивные приложения на Python.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Программирование и алгоритмизация
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Специалитет
- 09.05.01: Применение и эксплуатация автоматизированных систем специального назначения
- Аспирантура
- 02.06.01: Компьютерные и информационные науки
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Тайлер Ричардс Артем Груздев Streamlit для Data Science Создаем интерактивные приложения в Python
Streamlit for Data Science Second Edition Create interactive data apps in Python Tyler Richards BIRMINGHAM – MUMBAI
Москва, 2024 Тайлер Ричардс Артем Груздев Streamlit для Data Science Создаем интерактивные приложения в Python
УДК 004.438Python:004.6 ББК 32.973.22 Р56 Р56 Ричардс Т., Груздев А. Streamlit для Data Science. Создаем интерактивные приложения в Python / Пер. с англ. А. В. Груздева. – М.: ДМК Пресс, 2024. – 354 с.: ил. ISBN 978-5-93700-275-4 Если вы работаете с данными на Python и хотите создавать высококачественные приложения, демонстрирующие модели машинного обучения и генерирующие красивые интерактивные визуализации, то эта книга для вас. Описана настройка среды разработки и создание базового приложения с нуля, интеграция Streamlit с Hugging Face, OpenAI и Snowflake, показаны лучшие практики прототипирования проектов с помощью Streamlit. Издание предназначено для специалистов по обработке данных и энтузиастов машинного обучения, которые хотят начать создавать интерактивные приложения на Python. Copyright © 2023 Packt Publishing. First published in the English language under the title ‘Creative DIY Microcontroller Projects with TinyGo and WebAssembly’. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-80324-822-6 (англ.) Copyright © 2023 Packt Publishing ISBN 978-5-93700-275-4 (рус.) © Оформление, перевод на русский язык, издание, ДМК Пресс, 2024
Оглавление Часть I. Создание простых приложений Streamlit.........................................9 Глава 1. Введение в Streamlit............................................................. 10 Почему именно Streamlit?................................................................................10 Установка Streamlit............................................................................................12 Организация приложений Streamlit................................................................12 Демонстрация построения графиков с помощью Streamlit...........................13 Создание приложения с нуля...........................................................................15 Использование пользовательского ввода в приложениях Streamlit..............21 Последние штрихи: добавляем текст в Streamlit.............................................25 Выводы...............................................................................................................28 Глава 2. Загрузка, скачивание и работа с данными........................ 29 Исследуем набор Пингвины Палмера..............................................................30 Управление потоком в Streamlit.......................................................................40 Отладка приложений Streamlit.........................................................................43 Разработка в Streamlit.............................................................................................44 Исследуем в Jupyter, а затем копируем в Streamlit...............................................44 Операции с данными в Streamlit......................................................................45 Пробуем Altair....................................................................................................47 Введение в кеширование..................................................................................48 Сохранение состояния сеанса (session state)...................................................55 Выводы...............................................................................................................59 Глава 3. Визуализация данных.......................................................... 60 Новый набор данных Деревья Сан-Франциско...............................................61 Варианты использования визуализации Streamlit.........................................62 Встроенные графические функции Streamlit..................................................63 Встроенные возможности визуализации в Streamlit......................................68 Plotly.........................................................................................................................68 Matplotlib и Seaborn................................................................................................70 Bokeh........................................................................................................................72 Altair.........................................................................................................................74 PyDeck......................................................................................................................76 Выводы...............................................................................................................83 Глава 4. Машинное обучение с помощью Streamlit........................ 84 Стандартный процесс создания модели машинного обучения.....................85 Прогнозирование видов пингвинов................................................................85 Использование предварительно обученной модели машинного обучения в Streamlit....................................................................................89
6 Оглавление Обучение моделей внутри приложений..........................................................94 Понимание результатов машинного обучения...............................................98 Интеграция внешней библиотеки машинного обучения в Streamlit на примере библиотеки Transformers от Hugging Face...........................110 Интеграция внешней библиотеки машинного обучения в Streamlit на примере OpenAI....................................................................................112 Аутентификация с помощью OpenAI..................................................................112 Стоимость API OpenAI..........................................................................................112 Streamlit и OpenAI.................................................................................................113 Выводы.............................................................................................................119 Глава 5. Развертывание приложений с помощью Streamlit Community Cloud.............................................................. 120 Начало работы с Streamlit Community Cloud.................................................121 Краткое руководство по GitHub......................................................................121 Развертывание с помощью Streamlit Community Cloud...............................126 Отладка Streamlit Community Cloud...............................................................130 Секреты Streamlit..................................................................................................130 Выводы.............................................................................................................134 Часть II. Создание сложных приложений Streamlit..................................... 135 Глава 6. Улучшение интерфейса приложений Streamlit............... 136 Начало работы с набором данных Деревья Сан-Франциско........................136 Работа с колонками в Streamlit.......................................................................137 Настройка конфигурации страницы..............................................................143 Использование боковой панели Streamlit.....................................................144 Выбор цвета с помощью палитры цветов.....................................................149 Использование тем Streamlit..........................................................................150 Многостраничные приложения......................................................................153 Редактируемые датафреймы..........................................................................156 Выводы.............................................................................................................161 Глава 7. Знакомство с компонентами Streamlit............................ 162 Обмен программным кодом с помощью streamlit-embedcode....................164 Редактирование датафреймов с помощью streamlit-aggrid.........................167 Детализация графиков Plotly с помощью streamlit-plotly-events................169 Размещение анимаций в приложениях с помощью streamlit-lottie............171 Разведочный анализ с помощью streamlit-pandas-profiling........................176 Создание интерактивных карт с помощью streamlit-folium.......................181 Использование вспомогательных мини-функций с помощью streamlit-extras...........................................................................................184 Поиск дополнительных компонентов...........................................................186 Выводы.............................................................................................................187
Оглавление 7 Глава 8. Развертывание Streamlit-приложений с помощью Hugging Face................................................................. 188 Выводы.............................................................................................................197 Глава 9. Подключение к базе данных Snowflake........................... 198 Подключение к Snowflake с помощью Streamlit............................................199 Улучшение организации подключений.........................................................201 Улучшение организации запросов и интерфейса приложения...................203 Выводы.............................................................................................................204 Часть III. Примеры использования Streamlit................................................ 205 Глава 10. Использование Streamlit в пет-проектах и тестовых заданиях для соискателей........................................... 206 Использование Streamlit в качестве доказательства, подтверждающего наличие навыков работы с данными.......................206 Машинное обучение – приложение Пингвины Палмера...................................207 Визуализация – приложение Прекрасные деревья............................................209 Использование Streamlit в тестовых заданиях при приеме на работу........210 Задания..................................................................................................................211 Выполнение задания 1..........................................................................................212 Выполнение задания 2..........................................................................................220 Выводы.............................................................................................................223 Глава 11. Прототипирование проектов в Streamlite..................... 224 Идеи для проектов data science......................................................................225 Сбор и чистка данных.....................................................................................227 Создание MVP..................................................................................................229 Сколько книг я читаю каждый год?.....................................................................229 Сколько времени мне потребуется, чтобы закончить читать начатую книгу?.............................................................................................231 Каков объем книг, которые я прочитал?.............................................................235 Каков «возраст» книг, которые я прочитал?........................................................237 Какой рейтинг я ставлю книгам в сравнении с другими пользователями Goodreads?........................................................................241 Итеративное улучшение.................................................................................246 Улучшение внешнего вида с помощью анимации.............................................247 Организация приложения с использованием широкого формата, дополнительных статистик, колонок и сопроводительного текста.........250 Хостинг и продвижение..................................................................................254 Выводы.............................................................................................................255 Глава 12. Использование библиотеки прогнозирования временных рядов ETNA в Streamlit................................................ 256 Пишем программный код приложения.........................................................256
8 Оглавление Работа с приложением....................................................................................279 Загрузка и визуализация данных.........................................................................279 Определение горизонта прогнозирования.........................................................282 Преобразования зависимой переменной...........................................................283 Конструирование признаков................................................................................284 Список экземпляров классов, выполняющих преобразования зависимой переменной и создающих признаки..........................................................285 Итоговый набор.....................................................................................................285 Обучение базовой модели....................................................................................286 Оценка качества и визуализация прогнозов базовой модели...........................286 Перекрестная проверка........................................................................................287 Оценка качества и визуализация прогнозов по итогам перекрестной проверки...............................................................................289 Оптимизация гиперпараметров..........................................................................290 Получение прогнозов для новых данных............................................................294 Запись прогнозов для новых данных в CSV-файл..............................................295 Работа с экзогенными переменными............................................................295 Подготавливаем наборы с экзогенными переменными....................................295 Прогнозируем, используя подготовленные наборы экзогенных переменных..................................................................................................300 Развертывание приложения на платформе Streamlit Community Cloud.....302 Глава 13. Интервью с опытными пользователями Streamlit....... 305 Интервью #1 – Фанило Андрианасоло (интервью 2021 года, для первого издания)................................................................................306 Интервью #2 – Фанило Андрианасоло (интервью 2023 года).......................312 Интервью #3 – Йоханнес Рике........................................................................317 Интервью #4 – Эдриен Трейль (интервью 2021 года, для первого издания).....................................................................................................324 Интервью #5 – Эдриен Трейль (интервью 2023 года)...................................328 Интервью #6 – Чарли Варнье..........................................................................332 Интервью #7 – Джерард Бентли......................................................................337 Интервью #8 – Арно Мирибель и Закари Блэквуд.........................................341 Интервью #9 – Юитиро Татибана...................................................................348 Выводы.............................................................................................................353
Часть I Создание простых приложений Streamlit
Глава 1 Введение в Streamlit Streamlit – это платформа, которая помогает создавать и разрабатывать веб-приложения на основе Python. Веб-приложения можно использовать для обмена результатами аналитики, создания сложных интерактивных приложений и демонстрации новых моделей машинного обучения. Кроме того, разработка и развертывание приложений Streamlit происходят невероятно быстро и гибко, часто уменьшая время разработки приложений с нескольких дней до пары часов. В этой главе мы начнем с основ Streamlit. Мы научимся скачивать и запускать демонстрационные приложения Streamlit, редактировать демонстрационные приложения с помощью нашего собственного текстового редактора, организовывать наши приложения Streamlit и, наконец, создавать свои собственные. Затем изучим основы визуализации данных в Streamlit. Мы узнаем, как принять исходные пользовательские данные, а затем добавить последние штрихи к нашим собственным приложениям с помощью текста. К концу этой главы вы сможете начать создавать свои собственные приложения Streamlit! В частности, мы затронем следующие темы: • почему именно Streamlit? • установка Streamlit; • организация приложений Streamlit; • демонстрация построения графиков с помощью Streamlit; • создание приложения с нуля. Почему именно Streamlit? В течение последнего десятилетия специалисты по data science становятся все более ценным ресурсом для компаний и некоммерческих организаций. Они помогают принимать решения на основе данных, повышать эффективность процессов и внедрять модели машинного обучения для улучше