← 문제 목록/누적 설명 분산 비율
문제 해설

누적 설명 분산 비율

차원축소 · easy

preview

누적 설명 분산 비율

33번 per-component 설명 분산누적 합. PCA 에서 "주성분 몇 개 쓸까?" 라는 실전 질문에 직접 답해주는 지표:

cumi=j=1iλjkλk\text{cum}_i = \sum_{j=1}^{i} \frac{\lambda_j}{\sum_k \lambda_k}

사용법:

  • cum[k-1] >= 0.95 인 최소 k 를 선택 → 95% 분산 유지하면서 차원 축소
  • 그래프가 무릎(elbow) 꺾이는 지점 에서 k 를 결정.

과제

함수 cumulative_explained_variance(X, k) 를 완성하세요.

  • 반환: shape (k,) float 배열, 단조 증가.
  • np.linalg.eigh 로 고유값 → 내림차순 정렬 → 비율 → np.cumsum(...)[:k].

테스트 케이스

#이름검증
1shape (k,)(k,)
2단조 증가cum[i] <= cum[i+1]
3각 값 ≤ 1비율 합이니 최대 1
4k=D 이면 마지막 ≈ 1.0모든 분산 포함
5첫 값 == 33번의 첫 값원본과 일관성
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.