
Исследование данных с помощью интерактивных фильтров было проблемой для разработчиков Python до выпуска этой удивительной платформы приложений под названием Streamlit. С момента выпуска этой чудо-инфраструктуры процесс изучения данных, создания веб-приложений и развертывания моделей машинного обучения стал очень простым с помощью нескольких строк кода Python путем выполнения вызовов API к Streamlit.
В этом сообщении блога я расскажу вам о веб-приложении, которое я создал для изучения данных о преступности за месяц (январь 2018 г.) в городе Сакраменто в Калифорнии. Вы можете попробовать приложение здесь. Данные и полный код доступны в моем репозитории на github.
Во-первых, установка streamlit проста, как и обычные пакеты Python, то есть просто установка pip. Streamlit совместим со всеми пакетами Python и фреймами, а полную информацию с учебными пособиями можно найти на официальном сайте.

После установки мы можем начать кодирование, импортировав необходимые пакеты. Здесь я использовал pandas для суммирования данных, графиков и numpy для диаграмм, PIL для загрузки изображений и streamlit для интерфейса fornt end и, наконец, развернул на платформе Heroku.

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

Когда у нас есть готовый кусок программы, мы можем одновременно запустить его и просмотреть веб-страницу на локальном хосте. Для этого нам нужно запустить приведенную ниже команду в командной строке (измените имя программы соответствующим образом), новая вкладка откроется в вашем браузере по умолчанию.


Приведенный ниже фрагмент кода дает возможность просматривать необработанные данные и несколько сводных деталей, таких как 50 основных преступлений, количество преступлений в каждый день месяца. Таким образом мы можем отображать / скрывать любую статистику на экране для быстрого анализа.


Затем мы строим гистограмму, чтобы показать 50 самых крупных преступлений месяца, поскольку мы использовали здесь графически, график довольно красочный и с множеством вариантов масштабирования, наведения и т. Д.

Создайте ползунок, чтобы выбрать день месяца, чтобы увидеть физические места преступления в этот конкретный день. Использовал API-интерфейс «deck_gl_chart» программы streamlit для передачи значений широты и долготы для отображения карты. Опять же, график является интерактивным, мы можем увеличивать и уменьшать масштаб, чтобы увидеть фактические местоположения.

Наконец, гистограмма, чтобы увидеть количество преступлений по часам в выбранный день.

Когда у меня был готов код и протестирован на моем локальном хосте, я развернул его на платформе Heroku. Полное руководство по развертыванию приложения / модели на платформе Heroku можно найти в этом руководстве. Спасибо за чтение и удачное кодирование ..
Ссылки: