๐ UCI ML ๋ฐ์ดํฐ์ ํ์๊ธฐ
UCI Machine Learning Repository์ ๋จธ์ ๋ฌ๋ ๋ฐ์ดํฐ์ ์ ์ฝ๊ฒ ๊ฒ์, ํ์, ๊ด๋ฆฌํ ์ ์๋ Streamlit ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ .
























์ฃผ์ ๊ธฐ๋ฅ
- ํ ํญ
- ๋ฐ์ดํฐ์
๊ฒ์ ๋ฐ ํํฐ๋ง
- ํ
์ด๋ธ ๋ทฐ (ํ์ด์ง๋ค์ด์
์ง์, 10๊ฐ/ํ์ด์ง)
- ๋ค์ค ์ ํ ๊ธฐ๋ฅ (๋ฉํฐ์
๋ ํธ)
- ์ฆ๊ฒจ์ฐพ๊ธฐ ์ถ๊ฐ
- CSV ๋ด๋ณด๋ด๊ธฐ (์ ์ฒด/ํํฐ๋ง ๋ฐ์ดํฐ์
)
- ์์ธ ์ ๋ณด ํ์ด์ง
์ฆ๊ฒจ์ฐพ๊ธฐ ํญ
- ์ ์ฅ๋ ๋ฐ์ดํฐ์
๊ด๋ฆฌ
- ๋ค์ค ์ ํ ์ญ์ ๊ธฐ๋ฅ
- ์ฆ๊ฒจ์ฐพ๊ธฐ CSV ๋ด๋ณด๋ด๊ธฐ
- ํ
์ด๋ธ ๋ทฐ (ํ์ด์ง๋ค์ด์
์ง์)
ํ ์คํธ ํญ
- ๋ฐ์ดํฐ์
์ค์ ๋ฐ์ดํฐ ๋ก๋ (ucimlrepo)
- ๋ฐ์ดํฐํ๋ ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ (ํ์ด์ง๋ค์ด์
์ง์)
- ๋ฐ์ดํฐ ์๊ฐํ
- Python Import ์ฝ๋ ์ ๊ณต
์ ๋ณด ํญ
- ํ๋ก์ ํธ ์ค๋ช
๋ฐ ๊ธฐ์ ์คํ
- ์ ์ฉํ ๋งํฌ
- ๋น ๋ฅธ ์์
- ํ๊ฒฝ ์ค์
Windows (PowerShell):
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt
Windows (Batch):
setup_venv.bat
Unix/macOS:
bash setup_venv.sh
๋ก์ปฌ ์คํ
streamlit run app.py
๋ธ๋ผ์ฐ์ ์์ ์๋์ผ๋ก ์ด๋ฆฝ๋๋ค (http://localhost:8501)
Docker๋ก ์คํ (์ ํ์ฌํญ)
docker-compose up
๊ธฐ์ ์คํ
Python 3.9+
Streamlit - ์น ํ๋ ์์ํฌ
Pandas - ๋ฐ์ดํฐ ์ฒ๋ฆฌ
BeautifulSoup4 - ์น ํฌ๋กค๋ง
Requests - HTTP ์์ฒญ
ucimlrepo - UCI ML ๋ฐ์ดํฐ์
๋ก๋
ํ๋ก์ ํธ ๊ตฌ์กฐ
Tool-UCI_ML_repo/
โโโ app.py # Streamlit ๋ฉ์ธ ์ ํ๋ฆฌ์ผ์ด์
โโโ scraper.py # ๋ฐ์ดํฐ์
ํฌ๋กค๋ฌ
โโโ utils.py # ์ ํธ๋ฆฌํฐ ํจ์
โโโ requirements.txt # ์์กด์ฑ
โโโ README.md # ์ด ํ์ผ
โโโ Dockerfile # Docker ์ค์
โโโ docker-compose.yml # Docker Compose ์ค์
โโโ setup_venv.bat # Windows venv ์คํฌ๋ฆฝํธ
โโโ setup_venv.sh # Unix/Mac venv ์คํฌ๋ฆฝํธ
โโโ .gitignore # Git ์ ์ธ ํ์ผ
โโโ .streamlit/
โ โโโ config.toml # Streamlit ์ค์
โโโ data/
โ โโโ datasets.csv # ํฌ๋กค๋ง๋ ๋ฐ์ดํฐ์
โโโ cache/
โ โโโ favorites.json # ์ฆ๊ฒจ์ฐพ๊ธฐ ์ ์ฅ์
โโโ docs/
โโโ VENV_SETUP.md # venv ์ค์ ๊ฐ์ด๋
โโโ DAY2_FEATURES.md # Day2 ๊ธฐ๋ฅ ๋ฌธ์
โโโ DAY3_FEATURES.md # Day3 ๊ณ ๊ธ ๊ธฐ๋ฅ ๋ฌธ์
๐ง ์ฃผ์ ๊ธฐ๋ฅ ์์ธ
์บ์ฑ
1์๊ฐ TTL๋ก ๋ฐ์ดํฐ์
์บ์ฑ
๋ฐ์ดํฐ์
๋ฐ์ดํฐ ์๋ ๋ก๋
๋ค์ค ํญ ํ์ด์ง
ํ: ์ฃผ์ ๊ฒ์ ๋ฐ ํ์ ๊ธฐ๋ฅ, ๋ค์ค ์ ํ, ์ฆ๊ฒจ์ฐพ๊ธฐ ์ถ๊ฐ
์ฆ๊ฒจ์ฐพ๊ธฐ: ์ ์ฅ๋ ๋ฐ์ดํฐ์
๊ด๋ฆฌ, ๋ค์ค ์ญ์
ํ
์คํธ: ์ค์ ๋ฐ์ดํฐ ๋ก๋ ๋ฐ ์๊ฐํ
์ ๋ณด: ํ๋ก์ ํธ ์ค๋ช
ํ์ด์ง๋ค์ด์
๋ชจ๋ ํ
์ด๋ธ์์ 10๊ฐ/ํ์ด์ง ํ์
์ ์ฒด ๋๋น ๋ฒํผ์ผ๋ก ์ง๊ด์ ์ธ ๋ค๋น๊ฒ์ด์
ํ์ด์ง๋ค์ด์ ์ํ ์ ์ง
์ธ์
์ํ๋ก ํ์ด์ง ์ ์ง
์ธ์ ์ํ ๊ด๋ฆฌ
๋ค์ค ์ ํ ๊ธฐ๋ฅ
๋ฉํฐ์
๋ ํธ๋ก ์ฌ๋ฌ ๋ฐ์ดํฐ์
๋์ ์ ํ
์ธ์
์ํ๋ก ์ ํ ์ ์ง (ํ์ด์ง ๋ฆฌ๋ก๋ ์์๋)
์ฆ๊ฒจ์ฐพ๊ธฐ ์ผ๊ด ์ถ๊ฐ/์ญ์ ์ง์
์ ํ๋ ๋ฐ์ดํฐ์
์ถ์
๋ค์ค ์ ํ ์ํ ์ ์ง
ํต๊ณ ์ ๋ณด
์ฑ์ ๋ค์ ํต๊ณ๋ฅผ ์ ๊ณตํฉ๋๋ค:
- ์ ์ฒด ๋ฐ์ดํฐ์
์ (์ฌ์ด๋๋ฐ)
- ๋ง์ง๋ง ์
๋ฐ์ดํธ ์๊ฐ (์ฌ์ด๋๋ฐ)
๋ฐฐํฌ
Streamlit Cloud (๊ถ์ฅ)
GitHub์ ์ ์ฅ์ push
Streamlit Cloud์ ์ ์
์ ์ฑ ์ฐ๊ฒฐ
GitHub ์ ์ฅ์ ์ ํ
app.py ํ์ผ ์ง์
Docker / Kubernetes
docker build -t uci-ml-explorer .
docker run -p 8501:8501 uci-ml-explorer
๋๋ Docker Compose:
docker-compose up -d
๊ฐ๋ฐ ๋ ธํธ
Day 1: ๊ธฐ์ด ์ค์ & ํฌ๋กค๋ง
venv ํ๊ฒฝ ์ค์
ํฌ๋กค๋ง ๋ก์ง ๊ฐ๋ฐ
์ํ ๋ฐ์ดํฐ ์์ฑ
Day 2: ์น์ฑ UI/UX
Streamlit ๊ธฐ๋ณธ ์ฑ ๊ตฌ์กฐ
์ธ์
์ํ ๊ด๋ฆฌ
ํ
์ด๋ธ ๋ทฐ
๊ฒ์ ๋ฐ ํํฐ๋ง
Day 3: ๊ณ ๊ธ ๊ธฐ๋ฅ & ๋ฐฐํฌ
์บ์ฑ ์ต์ ํ
๋ค์ค ํญ ํ์ด์ง
CSV ๋ด๋ณด๋ด๊ธฐ
Docker/Streamlit ๋ฐฐํฌ ์ค์
Day 4: UI ๊ฐ์ ๋ฐ ๊ธฐ๋ฅ ์ถ๊ฐ
ํ์ด์ง๋ค์ด์
๊ธฐ๋ฅ (10๊ฐ/ํ์ด์ง)
๋ค์ค ์ ํ ๊ธฐ๋ฅ (๋ฉํฐ์
๋ ํธ)
์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋ฅ ๊ฐ์
ํ
์คํธ ํญ ์ถ๊ฐ (ucimlrepo ํตํฉ)
UI ํต์ผ ๋ฐ ์ต์ ํ
๐ ๋ผ์ด์ผ์ค
MIT License - ์์ ๋ก์ด ์ฌ์ฉ, ์์ , ๋ฐฐํฌ ๊ฐ๋ฅํฉ๋๋ค.