← 문제 목록/설명 분산 비율 (PCA)

설명 분산 비율 (PCA)

차원축소 · easy

preview

설명 분산 비율 (Explained Variance Ratio)

PCA(32번) 이후 각 주성분이 전체 분산의 몇 %를 설명 하는지 나타내는 핵심 지표. 몇 차원까지 유지할지 결정할 때 쓰입니다.

수식

공분산 행렬의 고유값을 λ1λ2λD\lambda_1 \ge \lambda_2 \ge \dots \ge \lambda_D 라 하면:

explained_variance_ratioi=λijλj\text{explained\_variance\_ratio}_i = \frac{\lambda_i}{\sum_j \lambda_j}

  • 합이 1 (전체 분산)
  • 내림차순
  • 누적합이 0.95·0.99 같은 임계값을 처음 넘는 지점이 실용적인 k.

과제

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

  • 반환: shape (k,) NumPy 배열, 가장 큰 성분부터 차례로 k개.
  • np.linalg.eigh 는 오름차순 → 뒤집기.
  • 내림차순 정렬 후 합으로 나눔.

테스트 케이스

#이름검증
1shape(k,)
2합 ≤ 1k=D 일 때 합 ≈ 1
3내림차순ratio[i] ≥ ratio[i+1]
4각 성분 비음수모두 ≥ 0
5sklearn PCA.explained_variance_ratio_ 일치
Loading...

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