LLouis0622's picture
Upload folder using huggingface_hub
5092c1e verified

๋ฐ์ดํ„ฐ ๋””๋ ‰ํ† ๋ฆฌ ๊ฐ€์ด๋“œ

๋ฐ์ดํ„ฐ ์ค€๋น„ ๋ฐฉ๋ฒ•

1. ํ•„์š”ํ•œ ํŒŒ์ผ

data/raw/ ํด๋”์— ๋‹ค์Œ 3๊ฐœ์˜ CSV ํŒŒ์ผ์„ ๋„ฃ๊ธฐ:

โ‘  big_data_set1_f.csv - ๋งค์žฅ ๊ธฐ๋ณธ ์ •๋ณด

ํ•„์ˆ˜ ์ปฌ๋Ÿผ:

  • ENCODED_MCT: ๋งค์žฅ ID(๊ณ ์œ  ์‹๋ณ„์ž)
  • MCT_ME_D: ํ์—… ๋‚ ์งœ(ํ์—… ์‹œ์—๋งŒ ๊ฐ’ ์กด์žฌ, ํƒ€๊ฒŸ ๋ณ€์ˆ˜)
  • HPSN_MCT_BZN_CD_NM: ์—…์ข…๋ช…(์นดํŽ˜, ์Œ์‹์  ๋“ฑ)
  • MCT_SIGUNGU_NM: ์ง€์—ญ๋ช…

โ‘ก ds2_monthly_usage.csv - ์›”๋ณ„ ์ด์šฉ ๋ฐ์ดํ„ฐ

ํ•„์ˆ˜ ์ปฌ๋Ÿผ:

  • ENCODED_MCT: ๋งค์žฅ ID
  • TA_YM: ๋…„์›”(์˜ˆ: 202401)
  • RC_M1_SAA: ์›” ๋งค์ถœ์•ก ๊ตฌ๊ฐ„(1_0-25%, 2_25-50% ๋“ฑ)
  • MCT_OPE_MS_CN: ์˜์—… ๊ฐœ์›” ์ˆ˜ ๊ตฌ๊ฐ„
  • RC_M1_AV_NP_AT: ํ‰๊ท  ์ด์šฉ ๊ธˆ์•ก ๊ตฌ๊ฐ„

์„ ํƒ ์ปฌ๋Ÿผ:

  • APV_CE_RAT: ์Šน์ธ ์ทจ์†Œ์œจ
  • DLV_SAA_RAT: ๋ฐฐ๋‹ฌ ๋งค์ถœ ๋น„์œจ

โ‘ข ds3_monthly_customers.csv - ์›”๋ณ„ ๊ณ ๊ฐ ๋ฐ์ดํ„ฐ

ํ•„์ˆ˜ ์ปฌ๋Ÿผ:

  • ENCODED_MCT: ๋งค์žฅ ID
  • TA_YM: ๋…„์›”
  • MCT_UE_CLN_REU_RAT: ์žฌ์ด์šฉ ๊ณ ๊ฐ ๋น„์œจ (%)

์„ ํƒ ์ปฌ๋Ÿผ:

  • MCT_UE_CLN_NEW_RAT: ์‹ ๊ทœ ๊ณ ๊ฐ ๋น„์œจ
  • M12_MAL_1020_RAT, M12_MAL_30_RAT ๋“ฑ: ์—ฐ๋ น๋Œ€๋ณ„ ๋‚จ์„ฑ ๊ณ ๊ฐ ๋น„์œจ
  • M12_FME_1020_RAT, M12_FME_30_RAT ๋“ฑ: ์—ฐ๋ น๋Œ€๋ณ„ ์—ฌ์„ฑ ๊ณ ๊ฐ ๋น„์œจ

๋ฐ์ดํ„ฐ ํ˜•์‹ ์ฐธ๊ณ 

๋งค์ถœ/์šด์˜ ๊ตฌ๊ฐ„ ์ฝ”๋“œ

# ๋งค์ถœ ๊ตฌ๊ฐ„ (RC_M1_SAA)
'1_0-25%'      โ†’ ํ•˜์œ„ 25 % (๋งค์šฐ ๋‚ฎ์Œ)
'2_25-50%'     โ†’ 25 - 50 % (๋‚ฎ์Œ)
'3_25-50%'     โ†’ 25 - 50 % (๋‚ฎ์Œ)
'4_50-75%'     โ†’ 50 - 75 % (๋ณดํ†ต)
'5_75-100%'    โ†’ 75 - 100 % (๋†’์Œ)
'6_100%+'      โ†’ ์ƒ์œ„๊ถŒ(๋งค์šฐ ๋†’์Œ)

# ์˜์—… ๊ฐœ์›” ์ˆ˜ ๊ตฌ๊ฐ„ (MCT_OPE_MS_CN)
'1_0-25%'      โ†’ ์‹ ์ƒ(0 - 6๊ฐœ์›”)
'2_25-50%'     โ†’ ์ดˆ๊ธฐ(6 - 12๊ฐœ์›”)
'3_25-50%'     โ†’ ์ดˆ๊ธฐ(6 - 12๊ฐœ์›”)
'4_50-75%'     โ†’ ์ค‘๊ธฐ(12 - 24๊ฐœ์›”)
'5_75-100%'    โ†’ ์žฅ๊ธฐ(24 - 36๊ฐœ์›”)
'6_100%+'      โ†’ ์˜ค๋ž˜๋œ ๋งค์žฅ(36๊ฐœ์›” +)

ํŠน์ˆ˜๊ฐ’ ์ฒ˜๋ฆฌ

# ๊ฒฐ์ธก๊ฐ’ ํ‘œ์‹œ
-999999.9      โ†’ ๋ฐ์ดํ„ฐ ์—†์Œ(NaN์œผ๋กœ ์ฒ˜๋ฆฌ๋จ)
NaN            โ†’ ๋ฐ์ดํ„ฐ ์—†์Œ

๋‹ค์Œ ๋‹จ๊ณ„

๋ฐ์ดํ„ฐ ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด:

  1. Jupyter ๋…ธํŠธ๋ถ์œผ๋กœ ํ•™์Šต:

    jupyter notebook notebooks/train_model.ipynb
    
  2. ๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋กœ ํ•™์Šต:

    python src/train.py
    
  3. ๋ชจ๋ธ ํ™•์ธ:

    ls models/
    # xgboost_model.pkl, lightgbm_model.pkl, config.json ๋“ฑ ํ™•์ธ
    

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Q1. ํŒŒ์ผ ์ธ์ฝ”๋”ฉ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

A: CSV ํŒŒ์ผ์˜ ์ธ์ฝ”๋”ฉ์„ ํ™•์ธํ•˜๊ณ  encoding='cp949' ๋˜๋Š” encoding='utf-8'๋กœ ๋ณ€๊ฒฝํ•˜์„ธ์š”.

Q2. ์›”๋ณ„ ๋ฐ์ดํ„ฐ๊ฐ€ 2๊ฐœ์›”๋ฐ–์— ์—†๋Š”๋ฐ ๊ดœ์ฐฎ๋‚˜์š”?

A: ์ตœ์†Œ 3๊ฐœ์›” ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ถ”์„ธ ๋ถ„์„์„ ์œ„ํ•ด 6๊ฐœ์›” ์ด์ƒ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

Q3. ํ์—… ๋งค์žฅ์ด ๋„ˆ๋ฌด ์ ์€๋ฐ ๊ดœ์ฐฎ๋‚˜์š”?

A: ์ „์ฒด์˜ 1-5% ์ •๋„๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. SMOTE๋กœ ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜•์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

Q4. ํ•„์ˆ˜ ์ปฌ๋Ÿผ์ด ์—†์œผ๋ฉด ์–ด๋–ป๊ฒŒ ํ•˜๋‚˜์š”?

A: feature_engineering.py์—์„œ ํ•ด๋‹น ํŠน์ง• ์ƒ์„ฑ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋ณธ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•˜์„ธ์š”.


์ง€์›

๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด GitHub Issues์— ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ํฌํ•จํ•˜์—ฌ ๋“ฑ๋กํ•ด์ฃผ์„ธ์š”.