1.6 KiB
1.6 KiB
fumen-analyze 진행 리포트 (2026-04-23)
1. 현재 성능 및 상태
- 최종 MAE: 0.1731 (전체 데이터셋 기준)
- 사용 모델:
sklearn.ensemble.GradientBoostingRegressor - 학습 전략:
warm_start=True를 활용하여 기존 모델을 파괴하지 않고 업데이트.- 실행 시마다 랜덤하게 200개의 코스를 샘플링하여 학습 (다양성 확보).
- 총 2,130개의 Estimator(트리)가 누적됨.
2. 피처 엔지니어링 (30개 지표)
- 물리적 밀도: Global NPS, Effective NPS(쉼표 제외), 구간별(Q1~Q4) NPS, Peak NPS(1s, 2s, 5s), Spike Index.
- 체력 및 지구력: 최대/평균 스트림 길이, 스트림 개수 및 비율, 휴식 구간(Resting) 비율.
- 기술적 복잡도: Don/Ka 비율, 색상 전환율, 3노트 단위 패턴 복잡도, 손 배치 전환 지수(Hand-switching).
- 리듬 및 기믹: 엇박 비율(Denominator 분석), 리듬 표준편차, SV/BPM 변화 빈도 및 변동성.
3. 파일 구조
src/factorize.ts: TJA에서 30개 피처 추출 (BigInt 및 타입 체크 완비).model/train.py: 점진적 학습 및 K-Fold 교차 검증 지원.run_pipeline.sh: 데이터 추출 + 누적 학습 통합 스크립트.run_predict.sh: 개별 TJA 상수 예측용 스크립트.
4. 향후 개선 아이디어
- 데이터 증강: 비슷한 채보를 미세하게 변형하여 학습 데이터 확보.
- 패턴 정밀 분석: '기차(Stream)' 내의 특정 반복 패턴(ddk, dkk 등) 가중치 부여.
- 오차 분석: 에러가 큰 특정 곡들을 따로 추출하여 어떤 피처가 부족한지 분석.