xswer19.log
로그인
xswer19.log
로그인
principal_engineface
안선경
·
2023년 3월 23일
팔로우
0
0
ML_study
목록 보기
22/25
이번에는 Principal기법을 사용해서 사람의 사진도 차원을 축소할 수 있는지 확인해보자
먼저 sklearn에서 사람 사진에 대한 자료를 업로드를 한다.
그리고 K=20은 해당 자료에서 20번째 사람의 사진을 불러오는 것이다.
한 사람의 여러 표정을 matplotlib.pyplot의 imshow기능을 이용해 시각화했다.
이제 해당 자료를 축소하기 위해 PCA 모듈을 import한다.
먼저 기존의 자료를 보면 10행 4096열로 이루어진 데이터셋인데, 4096는
64
×
64
64\times64
6
4
×
6
4
이며 즉, 64x64 픽셀로 이루어진 사진을 컬럼으로 이루어진것이다.
해당 자료를 PCA에 fit_transform하면 10개의 사진이 2개의 차원으로 축소한 것을 볼 수 있다.
해당 자료를 확인해보면 10장의 사진이 두 개의 차원으로 축소된 것을 확인할 수 있다.
또한, 축소한 차원을 inverse_transform으로 되돌릴 수도 있다.
축소한 차원을 다시 되돌리고 시각화를 했을 때 미세한 차이가 발생한 것을 확인 할 수 있다.
이제 축소한 차원을 64*64비트로 다시 구조를 변경하고 해당 자료를 통해 원본 데이터와 비슷한 시각화 작업을 할 수 있다.
축소한 차원은 이런식으로 이해하면 좋을 것 같다.
이제 축소한 차원에 가중치를 두어
x
,
y
x, y
x
,
y
축으로 움직여봤다.
linspace함수를 이용해 일정한 거리에 따른 간격을 두고 가중치를 줬다.
이 사진은
y
y
y
축으로 이동시킨 사진이다.
principal은 픽셀로 이루어진 사진의 차원을 축소해도, 어느정도 원본에 가까운 사진을 표현할 수 있다.
안선경
상황을 바꿀 수 없다면, 나를 바꾸자
팔로우
이전 포스트
Principal_iris_wine
다음 포스트
HAR_Principal
0개의 댓글
댓글 작성