더북(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를 만듭니다.

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