CSV 파일을 업로드하면, 업로드한 데이터를 데이터프레임으로 변환하여 불러온다.
이후 KMeans 클러스터링을 수행하기 위해 X로 사용할 컬럼을 선택할 수 있도록 설정한다.
적절한 K값을 찾기 위해 WCSS(Within-Cluster Sum of Squares) 값을 계산하고, 엘보우 메소드 그래프를 제공한다.
사용자가 K 값을 선택하면 해당 값으로 **데이터를 클러스터링(비슷한 그룹으로 분류)**하여 결과를 시각적으로 확인할 수 있도록 한다.
이 모든 과정을 하나의 웹 앱 형태로 구현할 예정이다.
https://kmeans-app-jzor2as7qbtjzbntn6qmzq.streamlit.app/
app
This app was built in Streamlit! Check it out and visit https://streamlit.io for more awesome community apps. 🎈
kmeans-app-jzor2as7qbtjzbntn6qmzq.streamlit.app
한글이면 폰트 설치 작업을 해줘야한다
그리고
아래는 한글폰트를 무료로 받을 수 있는 사이트이다
https://hangeul.naver.com/font
네이버 글꼴 모음
네이버가 만든 150여종의 글꼴을 한번에 만나보세요
hangeul.naver.com
import os
import matplotlib.font_manager as fm
@st.cache_data
def fontRegistered():
font_dirs = [os.getcwd() + '/custom_fonts']
font_files = fm.findSystemFonts(fontpaths=font_dirs)
for font_file in font_files:
fm.fontManager.addfont(font_file)
fm._load_fontmanager(try_read_cache=False)
한글이 깨지지 않음을 확인 할 수 있다.
'VSC > 실습' 카테고리의 다른 글
DB & 코사인유사도를 이용한 영화추천 (3) | 2025.02.19 |
---|---|
OpenAi ChatGPT API 이용하기 (0) | 2025.02.13 |
car-price-appStreamlit으로 배포하는 방법 (1) | 2025.02.04 |
car-price-app 개발해보기 (0) | 2025.02.03 |
스트림릿 분류 그리고 차트 (0) | 2025.02.03 |