Содержание поста-книги "Streamlit для Data Science" (348-стр. pdf, 13 глав, архив со скриптами)
ЧАСТЬ 1. СОЗДАНИЕ ПРОСТЫХ ПРИЛОЖЕНИЙ STREAMLIT 6
ГЛАВА 1. ВВЕДЕНИЕ В STREAMLIT 6
Почему именно Streamlit? 6
Установка Streamlit 7
Организация приложений Streamlit 8
Демонстрация построения графиков с помощью Streamlit 9
Создание приложения с нуля 11
Использование пользовательского ввода в приложениях
Streamlit 19
Streamlit 19
Последние штрихи: добавляем текст в Streamlit 22
Выводы 24
ГЛАВА 2. ЗАГРУЗКА, СКАЧИВАНИЕ И РАБОТА С ДАННЫМИ 26
Исследуем набор Пингвины Палмера 27
Управление потоком в Streamlit 37
Отладка приложений Streamlit 41
Разработка в Streamlit 42
Исследуем в Jupyter, а затем копируем в Streamlit 42
Операции с данными в Streamlit 43
Пробуем Altair 45
Введение в кэширование 47
Сохранение состояния сеанса (session state) 53
Выводы 57
ГЛАВА 3. ВИЗУАЛИЗАЦИЯ ДАННЫХ 58
Новый набор данных Деревья Сан-Франциско 58
Варианты использования визуализации Streamlit 60
Встроенные графические функции Streamlit 60
Встроенные возможности визуализации в Streamlit 66
Plotly 66
Matplotlib и Seaborn 68
Bokeh 70
Altair 72
PyDeck 74
Выводы 82
ГЛАВА 4. МАШИННОЕ ОБУЧЕНИЕ С ПОМОЩЬЮ STREAMLIT 83
Стандартный процесс создания модели машинного обучения 83
Прогнозирование видов пингвинов 84
Использование предварительно обученной модели машинного
обучения в Streamlit 87
обучения в Streamlit 87
Обучение моделей внутри приложений 92
Понимание результатов машинного обучения 97
Интеграция внешней библиотеки машинного обучения в Streamlit
на примере библиотеки transformers от Hugging Face 109
на примере библиотеки transformers от Hugging Face 109
Интеграция внешней библиотеки машинного обучения в Streamlit
на примере OpenAI 111
на примере OpenAI 111
Аутентификация с помощью OpenAI 111
Стоимость API OpenAI 111
Streamlit и OpenAI 112
Выводы 118
ГЛАВА 5. РАЗВЕРТЫВАНИЕ ПРИЛОЖЕНИЙ С ПОМОЩЬЮ STREAMLIT
COMMUNITY CLOUD 119
COMMUNITY CLOUD 119
Начало работы с Streamlit Community Cloud 119
Краткое руководство по GitHub 120
Развертывание с помощью Streamlit Community Cloud 124
Отладка
Streamlit Community Cloud 130
Streamlit Community Cloud 130
Секреты Streamlit 130
Выводы 135
ЧАСТЬ 2. СОЗДАНИЕ СЛОЖНЫХ ПРИЛОЖЕНИЙ STREAMLIT 136
ГЛАВА 6. УЛУЧШЕНИЕ ИНТЕРФЕЙСА ПРИЛОЖЕНИЙ STREAMLIT 136
Начало работы с набором данных Деревья Сан-Франциско 136
Работа с колонками в Streamlit 137
Настройка конфигурации страницы 143
Использование боковой панели Streamlit 144
Выбор цвета с помощью палитры цветов 149
Использование тем Streamlit 151
Многостраничные приложения 154
Редактируемые датафреймы 159
Выводы 163
ГЛАВА 7. ЗНАКОМСТВО С КОМПОНЕНТАМИ STREAMLIT 164
Обмен программным кодом с помощью streamlit-embedcode 165
Редактирование датафреймов с помощью streamlit-aggrid 169
Детализация графиков Plotly с помощью
streamlit-plotly-events 172
streamlit-plotly-events 172
Размещение анимаций в приложениях с помощью streamlit-lottie 174
Разведочный анализ с помощью streamlit-pandas-profiling 178
Создание интерактивных карт с помощью streamlit-folium 182
Использование вспомогательных минифункций с помощью
streamlit-extras 187
streamlit-extras 187
Поиск дополнительных компонентов 189
Выводы 189
ГЛАВА 8. РАЗВЕРТЫВАНИЕ STREAMLIT-ПРИЛОЖЕНИЙ С ПОМОЩЬЮ
HUGGING FACE 190
HUGGING FACE 190
Выводы 200
ГЛАВА 9. ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ SNOWFLAKE 201
Подключение к Snowflake с помощью Streamlit 201
Улучшение организации подключений 203
Улучшение организации запросов и интерфейса приложения 205
Выводы 207
ЧАСТЬ 3. ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ STREAMLIT 208
ГЛАВА 10. ИСПОЛЬЗОВАНИЕ STREAMLIT В ПЕТ-ПРОЕКТАХ И ТЕСТОВЫХ
ЗАДАНИЯХ ДЛЯ СОИСКАТЕЛЕЙ 208
ЗАДАНИЯХ ДЛЯ СОИСКАТЕЛЕЙ 208
Использование Streamlit в качестве доказательства,
подтверждающего наличие навыков работы с данными 208
подтверждающего наличие навыков работы с данными 208
Машинное обучение – приложение Пингвины Палмера 209
Визуализация – приложение Прекрасные деревья 210
Использование Streamlit в тестовых заданиях при приеме на
работу 212
работу 212
Задания 212
Выполнение задания 1 213
Выполнение задания 2 222
Выводы 225
ГЛАВА 11. ПРОТОТИПИРОВАНИЕ ПРОЕКТОВ В STREAMLIT 226
Идеи для проектов data science 227
Сбор и чистка данных 228
Создание MVP 231
Сколько книг я читаю каждый год? 231
Сколько времени мне потребуется, чтобы закончить читать
начатую книгу? 233
начатую книгу? 233
Каков объем книг, которые я прочитал? 236
Каков «возраст» книг, которые я прочитал? 238
Какой рейтинг я ставлю книгам в сравнении с другими
пользователями Goodreads? 243
пользователями Goodreads? 243
Итеративное улучшение 247
Улучшение внешнего вида с помощью анимации 248
Организация приложения с использованием широкого формата,
дополнительных статистик, колонок и сопроводительного текста 251
дополнительных статистик, колонок и сопроводительного текста 251
Хостинг и продвижение 255
Выводы 256
ГЛАВА 12. ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ ПРОГНОЗИРОВАНИЯ ВРЕМЕННЫХ
РЯДОВ ETNA В STREAMLIT 257
РЯДОВ ETNA В STREAMLIT 257
Пишем программный код приложения 257
Работа с приложением 279
Загрузка и визуализация данных 279
Определение горизонта прогнозирования 281
Преобразования зависимой переменной 282
Конструирование признаков 283
Список экземпляров классов, выполняющих преобразования
зависимой переменной и создающих признаки 284
зависимой переменной и создающих признаки 284
Итоговый набор 284
Обучение базовой модели 285
Оценка качества и визуализация прогнозов базовой модели 285
Перекрестная проверка 286
Оценка качества и визуализация прогнозов по итогам
перекрестной проверки 288
перекрестной проверки 288
Оптимизация гиперпараметров 289
Получение прогнозов для новых данных 294
Запись прогнозов для новых данных в CSV-файл 294
Работа с экзогенными переменными 295
Подготавливаем наборы с экзогенными переменными 295
Прогнозируем, используя подготовленные наборы экзогенных
переменных 299
переменных 299
Развертывание приложения на платформе Streamlit Community
Cloud 301
Cloud 301
ГЛАВА 13. ИНТЕРВЬЮ С ОПЫТНЫМИ ПОЛЬЗОВАТЕЛЯМИ STREAMLIT 304
Интервью #1 – Фанило Андрианасоло (интервью 2021 года, для
первого издания) 304
первого издания) 304
Интервью #2 – Фанило Андрианасоло (интервью 2023 года) 310
Интервью #3 – Йоханнес Рике 314
Интервью #4 – Эдриен Трейль (интервью 2021 года, для первого
издания) 321
издания) 321
Интервью #5 – Эдриен Трейль (интервью 2023 года) 325
Интервью #6 – Чарли Варнье 328
Интервью #7 – Джерард Бентли 333
Интервью #8 – Арно Мирибель и Закари Блэквуд 337
Интервью #9 – Юитиро Татибана 343
Выводы 347
streamlit