# Project: fumen-analyze

## Technical Stack
- **Runtime**: [Bun](https://bun.sh/)
- **Language**: TypeScript (Preprocessing), Python (Machine Learning)
- **ML Library**: [XGBoost](https://xgboost.readthedocs.io/), [LightGBM](https://lightgbm.readthedocs.io/), [scikit-learn](https://scikit-learn.org/)
- **TJA Parser**: [tja-parser](https://www.npmjs.com/package/tja-parser)

## Key Directories
- `preprocess/`: TJA 파싱 및 피처/팩터 추출 로직 (TypeScript)
- `script/`: 전처리, 학습 제어 및 결과 비교 스크립트
- `train/`: 학습 엔진 (Python - XGBoost, LightGBM)
- `predict/`: 추론 엔진 (Python)
- `datas/tja/`: 원본 TJA 데이터셋
- `datas/measure.csv`: 정답지 (상수 데이터)
- `output/`: 학습 모델(pkl/pkl), scaler, 결과 데이터(json/png)

## Data Flow
1. `datas/tja/*.tja` → `preprocess/*.ts` → `temp.json` (features/factors)
2. `temp.json` + `datas/measure.csv` → `train/*/train_*.py` → `model.*`, `scaler.*`
3. `model.*` + `temp.json` → `predict/*/predict_*.py` → Prediction Result
4. `script/compare_*.ts` → Evaluation (MAE) & Visualization (PNG)
