5.2.5 새로운 특성 공간으로 샘플 투영
이전 절에서 만든 변환 행렬 W를 훈련 데이터셋에 곱해서 데이터를 변환할 수 있습니다.
>>> X_train_lda = X_train_std.dot(w)
>>> colors = ['r', 'b', 'g']
>>> markers = ['s', 'x', 'o']
>>> for l, c, m in zip(np.unique(y_train), colors, markers):
... plt.scatter(X_train_lda[y_train==l, 0],
... X_train_lda[y_train==l, 1] * (-1),
... c=c, label=l, marker=m)
>>> plt.xlabel('LD 1')
>>> plt.ylabel('LD 2')
>>> plt.legend(loc='lower right')
>>> plt.tight_layout()
>>> plt.show()
그림 5-8에서 볼 수 있듯이 이제 세 개의 와인 클래스를 새로운 특성 부분 공간에서 선형적으로 완벽하게 구분할 수 있습니다.
▲ 그림 5-8 LDA로 변환된 Wine 데이터셋의 산점도