Streamlit이란?
Streamlit은 데이터 분석과 시각화를 함께 간편하게 수행할 수 있는 파이썬 오픈 소스 라이브러리이다.
공식 홈페이지에서는 스트림릿을 "데이터 애플리케이션을 만들고 공유하는 더 빠른 방법(A faster way to build and share data apps)" 이라고 소개한다.
주변에서 Streamlit을 실제로 활용한 것을 본 적이 있는데, 웹 개발을 전혀 해본 적 없는 데이터분석가가 아주 깔끔한 시각화 대시보드를 만든 것을 본 적이 있다.
Snowflake에서 2023년 하반기에 신규 기능으로 Streamlit을 런칭한다는 소식을 듣고 어디서 많이 들어본 이름이다 싶어서 찾아봤더니, 작년에 봤던 바로 그 데이터 시각화 웹 만드는 기능이었다.
웹 개발을 잠깐 해봤을 때, 마음에 드는 디자인의 웹 페이지를 만들려면 HTML 뿐만 아니라 CSS와 JavaScript를 어느 정도는 알아야 했는데, Streamlit을 사용하면 Python 코드만으로 웹 애플리케이션을 개발할 수 있다고 하니 Python을 주로 사용하는 데이터 분석가, 데이터 사이언티스트들이 쉽게 쓸 수 있을 것 같다.
파이썬 기반이다 보니 흔히 사용하는 opencv, pandas, kereas, tensorflow, matplotlib, numpy, scikit-learn 등 다른 파이썬 라이브러리와 함께 사용할 수 있는 것도 큰 장점이 될 수 있을 것 같다.
그리고 이전에 잠깐 웹개발을 했을 때에는 변경사항을 확인하기 위해 코드를 수정할 때마다 애플리케이션을 재시작했어야 했는데, Streamlit은 코드의 변경 사항을 자동으로 감지하여 애플리케이션을 실시간으로 업데이트해서, 코드 수정 후 애플리케이션을 재시작할 필요가 없다고 한다.
Demo
공식 홈페이지에 들어간 김에 간단한 튜토리얼을 해봤다.
Streamlit이 python 라이브러리이다 보니 pip install로 간단하게 설치 가능하다.
pip install streamlit
streamlit hello
pip install로 설치 후 hello 명령어를 실행해 봤다.
커맨드창에서 환영한다며 이메일을 입력하라고 하길래 일단 비워두고 엔터키를 눌러서 진행했더니
localhost:8501에 연결된 웹페이지가 떴다. 주소창에 뭘 입력하지 않아도 자동으로 웹페이지가 떠서, localhost가 뭔지, 8501은 뭔지 모르는 쌩 초보자도 일단 필요한 기능을 수행하는 데에 문제가 없을 것 같았다.
더 복잡한 예제들(See more complex demos) 중에 신경망을 이용한 자율주행 이미지 분석 예제는
pip install --upgrade streamlit opencv-python
streamlit run https://raw.githubusercontent.com/streamlit/demo-self-driving/master/streamlit_app.py
위의 명령어를 실행하면 확인할 수 있다고 하지만 노트북에 opencv 설치하기 싫어서 실행은 안 해봤다.
깃헙(https://github.com/streamlit/demo-self-driving)에 나와있는 데모 영상을 보면 좌측의 드롭다운 메뉴나 슬라이더, 버튼 등의 반응형 요소를 사용해서 조작하는 대로 우측 결과물이 실시간으로 업데이트되는 것을 확인할 수 있어서, 데이터 분석과 시각화를 직관적으로 수행할 수 있을 것 같았다.
장점
Streamlit은 데이터 시각화, 프로토타이핑, 결과 공유 및 웹 기반 애플리케이션 개발에 최적화되어 있어 데이터 분석과 시각화를 더욱 효율적으로 수행할 수 있다고 한다. 특히 결과를 공유할 때 편리할 것 같은 게, 학습한 모델의 결과물을 비교하거나, 단순한 데이터 분석 및 시각화가 필요할 때에도 Streamlit을 이용한 웹을 띄워서 서버 주소(+포트번호)만 공유하면 언제든 확인이 가능할 테니 굳이 화면으로 공유한다던가 하는 자리를 마련하지 않아도 될 것 같아 시간이 절약될 것 같다.
데이터 분석가, 데이터 사이언티스트, 인공지능 연구 및 개발자들에게 매우 유용한 도구가 될 수 있을 것으로 보인다.
[참고]
Streamlit 공식 홈페이지 - https://streamlit.io/
'IT' 카테고리의 다른 글
빅데이터분석기사 실기 시험 환경 (0) | 2023.06.03 |
---|---|
빅데이터분석기사 실기 시험환경에서 라이브러리 pandas sklearn 사용 방법 확인하기 (0) | 2023.06.03 |
Pyspark를 위한 Java 설치 및 JAVA_HOME 환경변수 설정 (0) | 2023.05.24 |
데이콘 일기 (2) - matplotlib 한글 폰트 설정 (0) | 2023.05.14 |
[Spark] JupyterLab에 pyspark kernel 설치 No module named pyspark_kernel.install 해결 (0) | 2023.05.13 |
댓글