File size: 3,220 Bytes
5092c1e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
# ๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ ๊ฐ์ด๋
## ๋ฐ์ดํฐ ์ค๋น ๋ฐฉ๋ฒ
### 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` ๋ฑ: ์ฐ๋ น๋๋ณ ์ฌ์ฑ ๊ณ ๊ฐ ๋น์จ
---
## ๋ฐ์ดํฐ ํ์ ์ฐธ๊ณ
### ๋งค์ถ/์ด์ ๊ตฌ๊ฐ ์ฝ๋
```python
# ๋งค์ถ ๊ตฌ๊ฐ (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๊ฐ์ +)
```
### ํน์๊ฐ ์ฒ๋ฆฌ
```python
# ๊ฒฐ์ธก๊ฐ ํ์
-999999.9 โ ๋ฐ์ดํฐ ์์(NaN์ผ๋ก ์ฒ๋ฆฌ๋จ)
NaN โ ๋ฐ์ดํฐ ์์
```
---
## ๋ค์ ๋จ๊ณ
๋ฐ์ดํฐ ์ค๋น๊ฐ ์๋ฃ๋๋ฉด:
1. **Jupyter ๋
ธํธ๋ถ์ผ๋ก ํ์ต**:
```bash
jupyter notebook notebooks/train_model.ipynb
```
2. **๋๋ ์คํฌ๋ฆฝํธ๋ก ํ์ต**:
```bash
python src/train.py
```
3. **๋ชจ๋ธ ํ์ธ**:
```bash
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์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํฌํจํ์ฌ ๋ฑ๋กํด์ฃผ์ธ์.
|