Maranh0/ai-junior-data_scientist

๐Ÿค– ๋กœ์ปฌ LLM๊ณผ FastAPI๋กœ ๊ตฌ๋™๋˜๋Š” AI ์ฃผ๋‹ˆ์–ด ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธํ‹ฐ์ŠคํŠธ ์—์ด์ „ํŠธ๋กœ ํ•€ํ…Œํฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๊ณ  EDA ๋ฐ ์ดํƒˆ ๋ชจ๋ธ๋ง์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

ai-junior-data_scientist๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ด ์Šคํ‚ฌ์€ ๋กœ์ปฌ์—์„œ ์‹คํ–‰๋˜๋Š” LLM(๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ)๊ณผ FastAPI๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ•€ํ…Œํฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋Š” AI ์ฃผ๋‹ˆ์–ด ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธํ‹ฐ์ŠคํŠธ ์—์ด์ „ํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ํƒ์ƒ‰์  ๋ฐ์ดํ„ฐ ๋ถ„์„(EDA)๊ณผ ๊ณ ๊ฐ ์ดํƒˆ(churn) ๋ชจ๋ธ๋ง ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ณผํ•™ ์ดˆ๋ณด์ž๋‚˜ ์ „๋ฌธ๊ฐ€ ๋ชจ๋‘๊ฐ€ ๋น ๋ฅด๊ฒŒ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป๊ณ  ์˜ˆ์ธก ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค. ์ง€์› ํ”Œ๋žซํผ์€ FastAPI ๊ธฐ๋ฐ˜์˜ ๋กœ์ปฌ ํ™˜๊ฒฝ์ด๋ฉฐ, SKILL.md ๋ฌธ์„œ์— ๋”ฐ๋ผ ์—์ด์ „ํŠธ๊ฐ€ ๋ฐ์ดํ„ฐ์…‹์„ ๋กœ๋“œํ•˜๊ณ , ํ†ต๊ณ„ ์š”์•ฝ, ์‹œ๊ฐํ™”, ํŠน์ง• ์—”์ง€๋‹ˆ์–ด๋ง, ์ดํƒˆ ์˜ˆ์ธก ๋ชจ๋ธ ํ•™์Šต ๋ฐ ํ‰๊ฐ€๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ์—์ด์ „ํŠธ๋Š” ์ฝ”๋“œ ์ƒ์„ฑ๊ณผ ์‹คํ–‰์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ค‘๊ฐ„ ๊ฒฐ๊ณผ๋ฅผ ์„ค๋ช…ํ•˜๊ณ , ์ตœ์ข…์ ์œผ๋กœ ์ดํƒˆ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๊ณ ๊ฐ์„ ์‹๋ณ„ํ•˜๋Š” ๋ฆฌํฌํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ง€์› ๋Œ€์ƒ~Claude Code~Codex CLI~Cursor
npx skills add Maranh0/ai-junior-data_scientist

Installed? Explore more ์—ฐ๊ตฌ & ๋ฐ์ดํ„ฐ ๋ถ„์„ skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review ยท View all 6 โ†’

์ฆ๊ฒจ ์‚ฌ์šฉํ•˜๋Š” AI์—๊ฒŒ ๋ฌผ์–ด๋ณด๊ธฐ

์ด ์—์ด์ „ํŠธ ์Šคํ‚ฌ์ด ๋ฏธ๋ฆฌ ๋กœ๋“œ๋œ ์ƒˆ ์ฑ„ํŒ…์„ ์—ฝ๋‹ˆ๋‹ค.

๋ฌธ์„œ

ai-junior-data_scientist์€(๋Š”) ๋ฌด์—‡์„ ํ•˜๋‚˜์š”?

๐Ÿค– ๋กœ์ปฌ LLM๊ณผ FastAPI๋กœ ๊ตฌ๋™๋˜๋Š” AI ์ฃผ๋‹ˆ์–ด ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธํ‹ฐ์ŠคํŠธ ์—์ด์ „ํŠธ๋กœ ํ•€ํ…Œํฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๊ณ  EDA ๋ฐ ์ดํƒˆ ๋ชจ๋ธ๋ง์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์š”

์ด ์—์ด์ „ํŠธ๋Š” FastAPI์™€ ๋กœ์ปฌ LLM(์˜ˆ: Ollama, Llama.cpp, LM Studio ๋“ฑ)์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•€ํ…Œํฌ ๋ฐ์ดํ„ฐ์…‹์— ๋Œ€ํ•œ ์™„์ „ํ•œ ๋ฐ์ดํ„ฐ ๊ณผํ•™ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ž๋™ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๊ฐ„๋‹จํ•œ ์งˆ์˜๋กœ EDA๋ถ€ํ„ฐ ์ดํƒˆ ์˜ˆ์ธก๊นŒ์ง€ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

  • ํƒ์ƒ‰์  ๋ฐ์ดํ„ฐ ๋ถ„์„(EDA): ๋ฐ์ดํ„ฐ ํ”„๋กœํŒŒ์ผ๋ง, ํ†ต๊ณ„ ์š”์•ฝ, ์ƒ๊ด€๊ด€๊ณ„ ๋งคํŠธ๋ฆญ์Šค, ๋ถ„ํฌ ์‹œ๊ฐํ™”
  • ํŠน์ง• ์—”์ง€๋‹ˆ์–ด๋ง: ์ž๋™ ๊ฒฐ์ธก์น˜ ์ฒ˜๋ฆฌ, ์ธ์ฝ”๋”ฉ, ์Šค์ผ€์ผ๋ง, ํŒŒ์ƒ ๋ณ€์ˆ˜ ์ƒ์„ฑ
  • ์ดํƒˆ ๋ชจ๋ธ๋ง: ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€, ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ, XGBoost ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„๋ฅ˜ ๋ชจ๋ธ ํ•™์Šต ๋ฐ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹
  • ๋ชจ๋ธ ํ‰๊ฐ€: ์ •๋ฐ€๋„, ์žฌํ˜„์œจ, F1 ์ ์ˆ˜, ROC-AUC, ํ˜ผ๋™ ํ–‰๋ ฌ
  • ์ธ์‚ฌ์ดํŠธ ๋ณด๊ณ : ์ฃผ์š” ์ดํƒˆ ์š”์ธ, ๊ณ ์œ„ํ—˜๊ตฐ ์„ธ๊ทธ๋จผํŠธ ์‹๋ณ„, ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๊ถŒ์žฅ ์‚ฌํ•ญ

์ง€์› ํ”Œ๋žซํผ

  • ๋กœ์ปฌ LLM: Ollama, llama.cpp, LM Studio, LocalAI ๋“ฑ OpenAI ํ˜ธํ™˜ API ์ œ๊ณต
  • ๋ฐฑ์—”๋“œ: FastAPI (Python 3.9+)
  • ๋ฐ์ดํ„ฐ ํฌ๋งท: CSV, Parquet, Excel

์‹œ์ž‘ํ•˜๊ธฐ

์‚ฌ์ „ ์š”๊ตฌ ์‚ฌํ•ญ

  • Python 3.9+
  • FastAPI (pip install fastapi uvicorn)
  • ๋กœ์ปฌ LLM (์˜ˆ: Ollama๋กœ llama3 ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ)
  • ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ: pandas, numpy, scikit-learn, matplotlib, seaborn, joblib

์„ค์น˜

git clone https://github.com/Maranh0/ai-junior-data_scientist.git
cd ai-junior-data_scientist
pip install -r requirements.txt

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

.env ํŒŒ์ผ ์ƒ์„ฑ:

LLM_API_BASE=http://localhost:11434/v1
LLM_MODEL=llama3
FASTAPI_HOST=0.0.0.0
FASTAPI_PORT=8000

์‹คํ–‰

uvicorn main:app --reload

์‚ฌ์šฉ ์˜ˆ์‹œ

๊ฐ„๋‹จํ•œ API ํ˜ธ์ถœ๋กœ ์ „์ฒด ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•ฉ๋‹ˆ๋‹ค:

curl -X POST "http://localhost:8000/analyze" \
  -H "Content-Type: application/json" \
  -d '{
    "data_path": "./data/fintech_customers.csv",
    "target": "churn",
    "task": "full_workflow"
  }'

์‘๋‹ต์—๋Š” EDA ์š”์•ฝ, ํ”ผ์ฒ˜ ์ค‘์š”๋„ ํ”Œ๋กฏ, ๋ชจ๋ธ ์„ฑ๋Šฅ ์ง€ํ‘œ, ์ดํƒˆ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ์ƒ์œ„ 10๋ช…์˜ ๊ณ ๊ฐ ๋ชฉ๋ก์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

SKILL.md์— ๋”ฐ๋ฅธ ๋™์ž‘ ๋ฐฉ์‹

  1. ๋ฐ์ดํ„ฐ ๋กœ๋“œ ๋ฐ ๊ฒ€์ฆ: ์—์ด์ „ํŠธ๊ฐ€ ๋ฐ์ดํ„ฐ์…‹์„ ๋กœ๋“œํ•˜๊ณ  ์Šคํ‚ค๋งˆ, ๊ฒฐ์ธก์น˜, ๊ธฐ์ดˆ ํ†ต๊ณ„๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  2. EDA ์‹คํ–‰: LLM์ด ๋ฐ์ดํ„ฐ ํ”„๋กœํŒŒ์ผ๋ง ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ ์ ˆํ•œ ์‹œ๊ฐํ™”์™€ ๋ถ„์„ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  3. ํŠน์ง• ์—”์ง€๋‹ˆ์–ด๋ง: LLM์ด ๋ฐ์ดํ„ฐ ํŠน์„ฑ์— ๋งž๋Š” ์ „์ฒ˜๋ฆฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ์„ค๊ณ„ํ•˜๊ณ  ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ชจ๋ธ ํ•™์Šต: ์—ฌ๋Ÿฌ ๋ถ„๋ฅ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ž๋™์œผ๋กœ ์‹œ๋„ํ•˜๊ณ  ์ตœ์ ์˜ ๋ชจ๋ธ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  5. ํ‰๊ฐ€ ๋ฐ ํ•ด์„: ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•˜๊ณ , SHAP ๋˜๋Š” ํ”ผ์ฒ˜ ์ค‘์š”๋„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค.
  6. ๋ณด๊ณ ์„œ ์ƒ์„ฑ: ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ๋งˆํฌ๋‹ค์šด ๋ฆฌํฌํŠธ๋กœ ์ •๋ฆฌํ•˜๊ณ  API ์‘๋‹ต์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋ผ์ด์„ ์Šค

MIT

๊ธฐ์—ฌ

์ด์Šˆ์™€ PR์€ ์–ธ์ œ๋‚˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! ๊ฐœ์„  ์‚ฌํ•ญ์ด๋‚˜ ๋ฒ„๊ทธ ์ˆ˜์ •์„ ์œ„ํ•ด ์ž์œ ๋กญ๊ฒŒ ๊ธฐ์—ฌํ•ด ์ฃผ์„ธ์š”.

๊ด€๋ จ ์Šคํ‚ฌ