작성
·
510
0
선생님 차원축소 부분을 공부하다가 개념이 헷갈리는 부분이 있어서 질문드립니다...
제가 이해한 바로는 차원 축소는 피처의 개수를 줄이는 것 보다는 차원 축소를 통해 데이터를 잘 설명할 수 있는 잠재적인 요소를 추출하는게 목적인데
그러면 코드상에서 저렇게 차원축소로 fit transform 한 결과로 나오는 저 두 숫자들이 의미하는 바가 무엇인지 이해가 잘 안됩니다. 저렇게 2차원으로 차원 축소를 시켜서 나오는 2개의 피처들이 의미하는게 새로운 축? 이라고 이해해야 하나요..? 저 각각의 lda_component들이 무엇을 의미하는지가 이해가 잘 안됩니다.
답변 1
0
안녕하십니까,
저 각각의 lda_component들이 무엇을 의미하는지가 이해가 잘 안됩니다.
=> lda_component가 어느 변수인지 잘 모르겠지만, 질문의 문맥상 lda.fit_transform()의 반환 결과로 가정하고 답변 드리겠습니다.
차원 축소는 원본 데이터의 피처의 개수를 줄이되, 해당 데이터의 특성을 가장 잘 나타내는(해당 데이터를 잘 설명할 수 있는) 함축적인 피처들을 기존 데이터에서 추출하여 피처의 개수를 줄이는 방법입니다.
lda.fit_transform()의 반환 결과가 바로 이 함축적인 피처입니다.
차원 축소는 여러가지 알고리즘이 있는데, 이들 알고리즘의 대략적인 목표는 기존 데이터의 정보 유실을 최소화 하면서 최적으로 해당 데이터의 특성을 잘 나타내는 피처들을 압축해서 추출해 내는 것입니다.
PCA의 경우는 데이터의 분산이 해당 데이터의 특성을 잘 나타내는 것으로 간주하고 데이터의 변동성이 가장 큰 방향으로 개별 축을 생성하고 이 축에 데이터를 투영해서 새로운 피처들을 추출하는 방식입니다.
LDA도 PCA와 유사합니다. 다만 입력 데이터의 결정값 클래스를 최대화 할 수 있는 축을 기반으로 새로운 피처들을 추출하는 방식입니다.
감사합니다.
넓은 의미로 보면 기존의 데이터를 설명하는지의 수치로도 볼수 있습니다만 앞에서도 설명드렸듯이 변동성이나 데이터 전체적인 특성을 반영하여 기존 데이타를 변형한 수치값으로 생각해 주시면 될것 같습니다
아 네 fit transform의 결과가 함축적인 피처라는거는 이해가 됩니다. 그럼 저 함축적인 피처를 print(iris_lda)를 print했을때 나오는 array안의 숫자들이 의미하는건 무엇인지 궁금합니다.
저 변수들이 얼마나 기존의 데이터를 설명하는지에 대한 수치인가요??