더북(TheBook)

다음 가장 큰 두 개의 고윳값에 해당하는 고유 벡터를 선택합니다. 이 데이터셋에 있는 분산의 약 60%를 잡아낼 수 있을 것입니다. 이 예제에서는 나중에 2차원 산점도를 그리기 위해 두 개의 고유 벡터만 선택했습니다. 실전에서는 계산 효율성과 모델 성능 사이의 절충점을 찾아 주성분 개수를 결정해야 합니다.

>>> w = np.hstack((eigen_pairs[0][1][:, np.newaxis],
...               eigen_pairs[1][1][:, np.newaxis]))
>>> print('투영 행렬 W:\n', w)
투영 행렬 W:
 [[-0.13724218  0.50303478]
  [ 0.24724326  0.16487119]
  [-0.02545159  0.24456476]
  [ 0.20694508 -0.11352904]
  [-0.15436582  0.28974518]
  [-0.39376952  0.05080104]
  [-0.41735106 -0.02287338]
  [ 0.30572896  0.09048885]
  [-0.30668347  0.00835233]
  [ 0.07554066  0.54977581]
  [-0.32613263 -0.20716433]
  [-0.36861022 -0.24902536]
  [-0.29669651  0.38022942]]

앞 코드를 실행하여 최상위 두 개의 고유 벡터로부터 13×2 차원의 투영 행렬 W를 만듭니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.