๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ช…์‚ฌ ็พŽ ๋น„๊ฒฉ์‹ (๋ฌด๋ฆฌ ์ค‘์—์„œ) ์•„์ฃผ ๋›ฐ์–ด๋‚œ[๋ˆˆ์— ๋„๋Š”] ์‚ฌ๋žŒ[๊ฒƒ]

Portfolio

UCI Machine Learning Repository ML ๋ฐ์ดํ„ฐ์…‹ ํƒ์ƒ‰๊ธฐ

 

๐Ÿ” 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 - ์ž์œ ๋กœ์ด ์‚ฌ์šฉ, ์ˆ˜์ •, ๋ฐฐํฌ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.