# Project: fumen-analyze

## Technical Stack
- **Runtime**: [Bun](https://bun.sh/)
- **Language**: TypeScript (Preprocessing), Python (Machine Learning)
- **ML Library**: [XGBoost](https://xgboost.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/`: XGBoost 학습 엔진 (Python)
- `predict/`: 추론 엔진 (Python)
- `datas/tja/`: 원본 TJA 데이터셋
- `datas/measure.csv`: 정답지 (상수 데이터)
- `test/`: 학습 결과물 (model.pkl, scaler.pkl, features.json)

## Data Flow
1. `datas/tja/*.tja` → `script/preprocess.ts` → `test/features.json`
2. `test/features.json` + `datas/measure.csv` → `train/train_xgboost.py` → `test/model.pkl`
3. `test/model.pkl` + `test/features.json` → `predict/predict_xgboost.py` → Result
