본문 바로가기
프레임워크/Streamlit

Streamlit 프레임워크: 데이터 애플리케이션의 강력한 도구

by 클레어몬트 2024. 12. 31.

ㅁStreamlit 프레임워크: 데이터 과학 및 머신러닝 애플리케이션을 빠르고 간편하게 개발할 수 있도록 설계된 Python 기반의 오픈소스 웹 프레임워크

 

데이터 중심 애플리케이션 제작 시, 복잡한 웹 개발 기술을 학습하거나 별도의 FE 도구를 사용할 필요 없이 간단한 코드만으로 대화형 사용자 인터페이스(UI)를 구축할 수 있는 점이 큰 장점이다. Streamlit은 데이터 시각화, 사용자 입력 처리, 실시간 대화형 기능 등을 간단한 Python 코드로 구현할 수 있게 해 준다.

 

 

[Streamlit의 주요 특징]

  • 빠른 설치와 간편한 사용: pip install streamlit 명령어 하나로 설치할 수 있으며, Python 개발 환경에서 바로 실행 가능하다
  • 코드 중심 개발: Streamlit은 완전히 코드 중심으로 설계되어, Python 스크립트에 Streamlit 함수를 추가하는 것만으로 애플리케이션을 제작할 수 있다
  • 대화형 위젯 제공: 슬라이더, 체크박스, 라디오 버튼, 파일 업로드 등 다양한 UI 컴포넌트를 제공한다
  • 실시간 데이터 업데이트: 코드 변경 시 즉각적으로 애플리케이션에 반영되며, 데이터의 실시간 스트리밍도 지원한다
  • 강력한 데이터 시각화: Matplotlib, Plotly, Altair, Vega-Lite와 같은 라이브러리와 원활히 통합된다
  • 클라우드 배포 지원: Streamlit Community Cloud와 같은 플랫폼을 사용하여 애플리케이션을 쉽게 배포할 수 있다
  • 오픈소스와 커스터마이징 가능성: 누구나 무료로 사용 가능하며, 필요에 따라 확장하거나 커스터마이징 할 수 있다

 

(설치 명령어)

pip install streamlit

 

 

 

(활용 프로젝트)

https://github.com/drone-skynet/seoul_metro_visualizer

 

GitHub - drone-skynet/seoul_metro_visualizer: 2024년 서울시 지하철 시간대별 이용 데이터를 지도에 시각화

2024년 서울시 지하철 시간대별 이용 데이터를 지도에 시각화하는 Streamlit 기반 애플리케이션 - drone-skynet/seoul_metro_visualizer

github.com

 

 

[Streamlit 활용 사례]

  • 머신러닝 모델 대시보드: 모델의 성능을 평가하고, 실시간으로 하이퍼파라미터를 조정할 수 있는 대시보드 제작
  • 데이터 탐색 애플리케이션: 데이터셋의 주요 통계를 시각화하거나 필터링할 수 있는 도구 제공
  • 의료 데이터 분석 도구: 의료 데이터를 실시간으로 분석하고 시각화하여 사용자에게 정보 제공

 

 

※ Streamlit 애플리케이션 배포 방법

  1. 로컬 배포: Streamlit을 실행 중인 서버에 배포하여 네트워크 내에서 접근할 수 있다
  2. 클라우드 배포: Streamlit Community Cloud, AWS, GCP와 같은 클라우드 플랫폼을 사용하여 전 세계 사용자와 애플리케이션을 공유할 수 있다
  3. Docker 사용: Docker 컨테이너를 사용하여 애플리케이션을 패키징하고 이식성을 높일 수 있다

 

Streamlit은 데이터 과학자와 개발자 모두에게 적합한 도구로, 빠른 프로토타입 제작과 데이터 중심 애플리케이션 개발에 최적화되어 있다. 직관적인 API, 대화형 UI, 강력한 데이터 시각화 기능을 제공함으로써 데이터 애플리케이션 개발의 복잡성을 크게 줄인다. Streamlit을 활용하면 데이터 프로젝트의 효율성을 극대화할 수 있다. 정말 편리하고 강력한 프레임워크 도구이므로, 모두들 가능할 때 한 번씩 사용해 보자.