36 lines
1.3 KiB
Markdown
36 lines
1.3 KiB
Markdown
# 파이프라인 실행 가이드
|
|
|
|
모든 실행은 프로젝트 루트 디렉토리에서 수행합니다.
|
|
|
|
## 1. 전처리 (Feature Extraction)
|
|
TJA 파일들로부터 피처를 추출하여 `features.json`을 생성합니다.
|
|
```bash
|
|
bun run script/preprocess.ts --workingDir ./test --dataDir ./datas
|
|
```
|
|
- **--workingDir**: 결과물(`features.json`)이 저장될 폴더.
|
|
- **--dataDir**: 원본 데이터(`tja/` 폴더)가 위치한 폴더.
|
|
|
|
## 2. 모델 학습 (Training)
|
|
추출된 피처와 상수 데이터를 사용하여 XGBoost 모델을 학습시킵니다.
|
|
```bash
|
|
python3 train/train_xgboost.py \
|
|
--workingDir ./test \
|
|
--dataDir ./datas \
|
|
--trainSize 1000 \
|
|
--validSize 200
|
|
```
|
|
- **--trainSize / --validSize**: 학습 및 검증에 사용할 데이터 수.
|
|
|
|
## 3. 난이도 예측 (Inference)
|
|
특정 곡 번호(`songno`)에 대한 난이도 상수를 예측합니다.
|
|
```bash
|
|
python3 predict/predict_xgboost.py --workingDir ./test --songno 1000
|
|
```
|
|
- **--songno**: 예측할 곡의 번호 (파일명 기준).
|
|
|
|
## 주요 산출물 (in `workingDir`)
|
|
- `features.json`: 추출된 피처 데이터셋.
|
|
- `model.pkl`: 학습된 XGBoost 모델 파일.
|
|
- `scaler.pkl`: 피처 정규화를 위한 Scaler 객체.
|
|
- `features.txt`: 학습에 사용된 피처 이름 목록.
|