# 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)