인프런 커뮤니티 질문&답변

kd03100님의 프로필 이미지
kd03100

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

pca / LDA 차원축소 질문

작성

·

510

0

선생님 차원축소 부분을 공부하다가 개념이 헷갈리는 부분이 있어서 질문드립니다...

제가 이해한 바로는 차원 축소는 피처의 개수를 줄이는 것 보다는 차원 축소를 통해 데이터를 잘 설명할 수 있는 잠재적인 요소를 추출하는게 목적인데

그러면 코드상에서 저렇게 차원축소로 fit transform 한 결과로 나오는 저 두 숫자들이 의미하는 바가 무엇인지 이해가 잘 안됩니다. 저렇게 2차원으로 차원 축소를 시켜서 나오는 2개의 피처들이 의미하는게 새로운 축? 이라고 이해해야 하나요..? 저 각각의 lda_component들이 무엇을 의미하는지가 이해가 잘 안됩니다. 스크린샷 2023-03-27 192847.png

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

저 각각의 lda_component들이 무엇을 의미하는지가 이해가 잘 안됩니다.

=> lda_component가 어느 변수인지 잘 모르겠지만, 질문의 문맥상 lda.fit_transform()의 반환 결과로 가정하고 답변 드리겠습니다.

차원 축소는 원본 데이터의 피처의 개수를 줄이되, 해당 데이터의 특성을 가장 잘 나타내는(해당 데이터를 잘 설명할 수 있는) 함축적인 피처들을 기존 데이터에서 추출하여 피처의 개수를 줄이는 방법입니다.

lda.fit_transform()의 반환 결과가 바로 이 함축적인 피처입니다.

차원 축소는 여러가지 알고리즘이 있는데, 이들 알고리즘의 대략적인 목표는 기존 데이터의 정보 유실을 최소화 하면서 최적으로 해당 데이터의 특성을 잘 나타내는 피처들을 압축해서 추출해 내는 것입니다.

PCA의 경우는 데이터의 분산이 해당 데이터의 특성을 잘 나타내는 것으로 간주하고 데이터의 변동성이 가장 큰 방향으로 개별 축을 생성하고 이 축에 데이터를 투영해서 새로운 피처들을 추출하는 방식입니다.

LDA도 PCA와 유사합니다. 다만 입력 데이터의 결정값 클래스를 최대화 할 수 있는 축을 기반으로 새로운 피처들을 추출하는 방식입니다.

감사합니다.

 

 

 

 

kd03100님의 프로필 이미지
kd03100
질문자

아 네 fit transform의 결과가 함축적인 피처라는거는 이해가 됩니다. 그럼 저 함축적인 피처를 print(iris_lda)를 print했을때 나오는 array안의 숫자들이 의미하는건 무엇인지 궁금합니다.

저 변수들이 얼마나 기존의 데이터를 설명하는지에 대한 수치인가요??

권 철민님의 프로필 이미지
권 철민
지식공유자

넓은 의미로 보면 기존의 데이터를 설명하는지의 수치로도 볼수 있습니다만 앞에서도 설명드렸듯이 변동성이나 데이터 전체적인 특성을 반영하여 기존 데이타를 변형한 수치값으로 생각해 주시면 될것 같습니다

kd03100님의 프로필 이미지
kd03100

작성한 질문수

질문하기