Files
fumen-measure-analyze/.gemini/difficulty-factors.md
2026-04-25 15:50:38 +09:00

1.4 KiB

TJA 난이도 산정 피처 (Features)

preprocess/featurize.ts에서 추출되는 8가지 핵심 피처입니다.

1. 양적 지표

  • note_count: 총 노트 수. 곡의 길이에 따른 절대적인 노트 양.

2. 밀도 지표

  • density_avg: 평균 NPS. (총 노트 수 / 곡의 총 소요 시간) * 1000.
  • density_peak: 순간 최대 밀도. 임의의 노트를 기준으로 1초 이내에 포함된 최대 노트 수.

3. 속도 변화 지표

  • bpm_avg: 노트별 BPM의 단순 산술 평균.
  • bpm_change: BPM 변동 횟수. 인접한 두 노트 간 BPM 차이가 1.5 이상일 때 카운트.
  • scroll_change: 시각적 속도(BPM * Scroll) 변동 횟수. 차이가 1.5 이상일 때 카운트.

4. 구조적 복잡도

  • rhythm_complexity: 리듬의 정규성. 인접한 노트 간 시간 간격의 비율이 2의 거듭제곱(1, 0.5, 2 등)에 가까운 횟수를 카운트.
    • 참고: 현재 코드는 정규 리듬일 때 증가하며, 문서와 실제 로직의 방향성이 반대일 수 있음.
  • color_complexity: 색상 배치 복잡도. 인접 노트의 색상(Don/Ka)이 바뀔 때, 그 간격의 제곱의 역수(1/\Delta t^2)를 누적. 간격이 좁을수록 수치가 급격히 상승.

주의사항

  • color_complexity는 수치의 범위가 매우 클 수 있으므로 학습 시 StandardScaler를 통한 정규화가 필수적입니다.