더북(TheBook)

개별 산포 행렬 Si를 산포 행렬 Sw로 모두 더하기 전에 스케일을 조정해야 합니다. 산포 행렬을 클래스 샘플 개수 ni로 나누면 사실 산포 행렬을 계산하는 것이 공분산 행렬 i를 계산하는 것과 같아집니다. 즉, 공분산 행렬은 산포 행렬의 정규화 버전입니다.

>>> d = 13 # 특성 개수
>>> S_W = np.zeros((d, d))
>>> for label, mv in zip(range(1, 4), mean_vecs):
...     class_scatter = np.cov(X_train_std[y_train==label].T)
...     S_W += class_scatter
>>> print('스케일 조정된 클래스 내의 산포 행렬: ',
...       f'{S_W.shape[0]}x{S_W.shape[1]}')
스케일 조정된 클래스 내의 산포 행렬: 13x13

클래스 내 산포 행렬(또는 공분산 행렬)을 계산한 후 다음 단계로 넘어가 클래스 간의 산포 행렬 SB를 계산하겠습니다.

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