PCA 차원 축소, 열을 고르는 것과 새 축을 만드는 것의 차이

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 98회 작성일 26-10-04 07:23

본문

표의 열이 많을 때 PCA를 쓰면 중요한 열 몇 개만 남는다고 생각하기 쉽습니다. 일반적인 PCA는 원래 열을 골라 남기는 방법이 아니라 여러 특성을 선형 결합해 새로운 좌표축을 만드는 방법입니다.

이 차이를 알아야 변환된 숫자를 원래 변수처럼 해석하는 실수를 줄일 수 있습니다. 이 글은 주성분과 설명 분산, 스케일링 및 평가의 관계를 개념 중심으로 정리합니다.

아래의 도형과 비율 예시는 이해를 위한 가정이며 실제 데이터 분석 결과나 성능 보장이 아닙니다.

PCA 차원 축소, 열을 고르는 것과 새 축을 만드는 것의 차이 관련 설명용 삽화

AI 생성 삽화 · 개념 이해를 위한 AI 연출 이미지이며 실제 시스템 구성도나 측정 결과가 아닙니다.

핵심 정리
PCA는 변동을 잘 표현하는 새 축을 찾고 데이터를 그 축의 좌표로 바꿉니다. 설명 분산은 예측 정확도가 아니며, 전처리와 주성분 학습은 평가 데이터와 분리해 검증해야 합니다.


1. 열 선택과 좌표 변환을 구분합니다

두 개의 수치 열로 표현한 점들이 대각선 방향으로 길게 늘어서 있다고 가정합니다. 원래 가로축이나 세로축 하나만 남기는 대신 점들이 길게 놓인 방향을 새 축으로 삼으면 그 방향의 위치로 데이터를 표현할 수 있습니다.

이것이 PCA의 직관을 설명하는 간단한 그림입니다. 실제 PCA는 여러 특성을 조합한 서로 직교하는 축을 순서대로 구하며, 앞쪽 축이 더 많은 분산을 설명하도록 구성됩니다.

scikit-learn의 분해 문서도 PCA를 이런 주성분으로 데이터를 표현하는 변환으로 설명합니다. 변환 후 첫 번째 열은 원래 첫 번째 특성을 그대로 복사한 값이 아닙니다.

따라서 첫 주성분을 나이나 가격 같은 원래 이름으로 바꾸어 부르면 의미가 달라집니다. 새 좌표의 해석에는 원래 특성이 얼마나 반영됐는지와 사용한 전처리 조건이 함께 필요합니다.

단순히 열 수가 줄었다는 사실과 원래 변수 몇 개를 선택했다는 사실을 구분하는 것이 출발점입니다.

관련 공식 문서


2. 차원을 줄이면 남기지 않은 방향의 정보가 빠집니다

새 축을 모두 사용하는 표현과 일부 축만 남기는 차원 축소는 다릅니다. 설명용 평면에서 점들이 대각선 주변에 조금씩 퍼져 있다면 긴 방향 하나로만 나타낼 때 그 선에서 벗어난 정도는 그대로 보존되지 않습니다.

원래 공간으로 되돌린 근사값이 원본과 다를 수 있는 이유입니다. 이를 단순히 오류가 발생했다고 표현하기보다 선택한 차원 수에서 무엇을 보존하고 무엇을 버렸는지 살펴봅니다.

주성분 개수가 작으면 저장과 후속 계산에 유리할 수 있지만, 변환 계산 자체의 비용과 정보 손실도 고려해야 합니다. 모든 데이터에서 속도와 품질이 동시에 좋아진다고 보장할 수는 없습니다.

차원 축소를 적용하기 전에 시각화가 목적인지, 후속 모델 입력을 줄이는 것이 목적인지 정합니다. 같은 두 차원 표현이라도 그림을 보는 용도와 서비스 예측용으로 쓰는 기준은 다를 수 있습니다.

목적을 적어 두면 주성분 수를 선택한 이유를 설명하기 쉽습니다.


3. 설명 분산 비율을 정확도로 읽지 않습니다

scikit-learn의 PCA는 각 주성분이 설명하는 분산 비율을 제공합니다. 설명용 결과로 첫 축이 0.7, 다음 축이 0.2라고 가정하면 두 축의 누적 비율은 0.9입니다.

이는 그 표현에서 데이터 변동을 어느 정도 담았는지 설명하는 수치이며 정답을 90퍼센트 맞혔다는 뜻이 아닙니다. 일반 PCA의 축 학습은 분류 정답을 목표로 직접 최적화하는 절차가 아닙니다.

따라서 분산이 작은 방향에도 특정 예측 문제에 중요한 단서가 있을 수 있습니다. 가상의 품질 분류에서 제품 대부분이 크기 차이를 보이지만 드문 작은 측정 차이가 불량 여부와 관계있다면, 큰 변동만 남기는 선택이 분류에 항상 유리하지는 않습니다.

이 예시는 실제 산업 데이터에 대한 주장이 아니라 평가 목적이 다름을 보여 주는 가정입니다. 분산 비율은 주성분 수를 검토하는 자료로 사용하고 최종 예측 성능은 별도의 검증 지표로 확인해야 합니다.

관련 공식 문서


4. 측정 단위와 스케일링을 함께 살펴봅니다

한 특성은 원 단위의 큰 숫자이고 다른 특성은 작은 범위의 비율이라면 변동의 크기가 단위에 영향을 받을 수 있습니다. scikit-learn의 PCA는 입력을 중심화하지만 각 특성의 스케일을 자동으로 같은 수준으로 맞추지는 않습니다.

같은 현상을 다른 단위로 표현했을 뿐인데 축의 방향이 달라질 수 있다는 점을 이해해야 합니다. 공식 스케일링 예제도 전처리 여부에 따라 주성분의 기여가 달라지는 모습을 보여 줍니다.

그렇다고 모든 문제에서 표준화가 무조건 정답이라는 뜻은 아닙니다. 원래 단위의 변동이 의미 있는 경우와 단위 차이를 줄여 비교하려는 경우를 구분합니다.

어떤 전처리를 했는지 기록하고 그 이유를 데이터의 의미와 연결합니다. 설명용으로 길이를 센티미터에서 밀리미터로 바꾸면 물체가 변한 것이 아니라 수치 표현이 바뀐 것입니다.

PCA 실험에서 이런 단위 변경이 결과에 미치는 영향을 확인하면 모델 선택 이전에 입력 표현의 역할을 이해하기 쉽습니다.

관련 공식 문서


5. 학습한 축을 새 데이터에도 동일하게 적용합니다

PCA의 fit 단계는 입력 자료를 보고 변환에 필요한 축을 학습합니다. 평가 데이터를 먼저 섞어 축을 구하면 평가 대상의 정보가 전처리에 들어갈 수 있습니다.

scikit-learn의 공통 실수 안내는 이런 데이터 누수가 PCA 같은 변환에도 적용된다고 설명합니다. 기본적으로 학습 데이터로 필요한 전처리와 PCA를 학습하고 검증·테스트 데이터에는 학습된 변환을 적용합니다.

교차 검증에서는 각 분할의 학습 구간에서 변환을 학습하도록 파이프라인을 구성하는 방식을 검토할 수 있습니다. 서비스에서도 요청마다 새로운 축을 다시 학습하면 같은 좌표 이름이 다른 의미가 될 수 있습니다.

모델과 전처리 자료, 특성 순서를 함께 관리해야 결과를 재현하기 쉽습니다. 예를 들어 원래 열 순서가 바뀌었는데 같은 변환을 적용하면 숫자 배열의 크기는 맞아도 의미는 달라질 수 있습니다.

학습된 축의 버전과 입력 스키마를 연결해 보관하는 것이 중요합니다.

관련 공식 문서


6. 차원 수는 기준 실험과 함께 선택합니다

PCA를 넣기 전의 방법을 기준으로 두고 같은 데이터 분할에서 비교합니다. 주성분 수를 바꿀 때는 설명 분산뿐 아니라 실제 목적에 맞는 품질 지표와 처리 비용을 함께 기록합니다.

시각화가 목적이라면 두 축에서 멀리 보이는 점들이 원래 공간에서도 같은 관계인지 과도하게 해석하지 않습니다. 그림에서 집단이 나뉘어 보인다는 사실만으로 실제 분류 성능이 검증된 것은 아닙니다.

실험 기록에는 원래 특성 수, 전처리, 주성분 수, 검증 방법과 결과를 나란히 적을 수 있습니다. 숫자가 좋아진 한 번의 실험만 고르기보다 동일한 기준으로 비교해야 적용 이유를 설명할 수 있습니다.

해석 가능성이 중요한 업무라면 새 축의 혼합된 의미가 받아들일 수 있는지도 검토합니다. 단순한 열 선택이나 원래 특성을 유지하는 방식이 목적에 더 맞을 수도 있습니다.

PCA는 차원을 줄이는 유용한 선택지지만, 분산을 잘 표현하는 일이 무엇을 해결해 주는지 명확할 때 효과를 평가하기 쉽습니다.


7. 자주 묻는 질문

Q1. PCA는 중요하지 않은 열을 삭제하는 방법인가요?

보통은 여러 특성을 조합해 새 축을 만드는 변환입니다. 원래 열 일부를 그대로 남기는 특성 선택과 구분합니다.

Q2. 설명 분산이 높으면 분류 정확도도 높은가요?

두 값은 다른 것을 측정합니다. 정답 예측이 목적이면 별도의 검증 데이터와 품질 지표로 평가해야 합니다.

Q3. PCA 전에 항상 표준화해야 하나요?

특성의 단위와 변동에 부여할 의미에 따라 판단합니다. 자동으로 정답을 정하기보다 전처리 조건을 기록하고 같은 평가 기준으로 비교합니다.

Q4. 테스트 데이터에도 fit을 다시 실행하나요?

평가 과정에서는 학습 데이터로 구한 변환을 적용하는 방식이 기본입니다. 평가 데이터를 이용해 축을 학습하면 결과를 공정하게 판단하기 어려워질 수 있습니다.


참고 자료

댓글목록

등록된 댓글이 없습니다.