# 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