크기별로 고유 값을 정렬하고 가장 높은 1 또는 2 값을 선택하려고합니다. 상대 값이 매우 작은 고유 값은 제외로 간주 될 수 있습니다. 그런 다음 데이터 값을 변환하고 상단 1 또는 2 고유 벡터 만 사용하여 결과를 플로팅하기위한 치수를 얻을 수 있습니다. 그러면 PCA 분할이 시각적으로 표시됩니다. PCA에 대한 자세한 내용은 scikit-learn을 참조하십시오. 정밀도는, 회상, F1-점수는 ... 그것은 http://sebastianraschka.com/Articles/2014_pca_step_by_step.html에서
얼마나 잘 작동하는지 당신에게 말할 것이다
1 단계 : 3D 예
"우리가 3 차원을 감소하는 우리의 간단한 예를 들어 2 차원 형상 부분 공간을 특징 공간, 우리는 K 차원의 고유 벡터 행렬 WW × KD × 우리 D를 구성하는 최대 고유치와 두 개의 고유 벡터들을 조합되어
matrix_w = np.hstack((eig_pairs[0][1].reshape(3,1),
eig_pairs[1][1].reshape(3,1)))
print('Matrix W:\n', matrix_w)
>>>Matrix W:
[[-0.49210223 -0.64670286]
[-0.47927902 -0.35756937]
[-0.72672348 0.67373552]]"
. 단계 2 :D 예
을 516,
는 "마지막 단계에서 , 우리는 우리가 단지 = W^T × X
transformed = matrix_w.T.dot(all_samples)
assert transformed.shape == (2,40), "The matrix is not 2x40 dimensional."
식 Y를 통해 새로운 서브 스페이스에 우리의 샘플들을 변환 계산 한 2 × 32 × 3 차원 행렬 WW를 사용