erdogant/pca
pca: A Python Package for Principal Component Analysis.
📦 pca – 주성분 분석을 위한 경량 Python 래퍼
무엇인가요 – pca는 주성분 분석(PCA) 및 관련 선형 차원 축소 방법(SparsePCA, TruncatedSVD)을 쉽게 실행할 수 있도록 도와주는 작고 순수한 Python 패키지입니다. 원시 scikit-learn API보다 풍부한 시각화 및 유틸리티를 제공합니다.
왜 관심을 가져야 할까요 – 이미 sklearn.decomposition.PCA를 사용하고 있지만 다음 기능이 필요하다면:
- 미리 만들어진 바이플롯, 로딩 벡터, 3차원 시각화,
- 자동 외부 관측치 탐지(Hotelling T², SPE/D‑ModX),
- 가장 중요한 원래 특성의 간단한 추출,
- 분산 편향 정규화/제거, 적합된 모델 저장/로드, 기존 PCA 공간에 새로운 데이터 매핑 등의 유틸리티 – 모두 하나의
pca객체로 가능. 이 라이브러리는 많은 반복 코드를 줄여줍니다.
🎯 핵심 기능 (README에 기재된 내용)
| 기능 | 설명 |
|---|---|
| 적합 및 변환 | scikit-learn의 PCA/SparsePCA/TruncatedSVD를 래핑하여, 단일 fit_transform 메서드를 제공하고, 축소된 좌표를 반환합니다. |
| 바이플롯 및 로딩 | 각 원본 변수의 기여도(로딩)를 나타내는 화살표와 함께 PC 공간 내 샘플을 플롯합니다. |
| 설명된 분산 차트 | 각 성분이 얼마나 많은 분산을 설명하는지 시각화하여, 적절한 PC 수를 선택하는 데 도움을 줍니다. |
| 최고 성능 특성 | 선택된 성분에 가장 기여하는 원본 변수의 순위 목록을 반환합니다. |
| 산점도 | 선택된 PC의 2차원 산점도로, 색상/크기 인코딩을 선택적으로 사용할 수 있습니다. |
| 외부 관측치 탐지 | Hotelling의 T² 및 SPE/D‑ModX 통계량을 구현하여 모델 중심에서 멀리 떨어진 관측치를 표시합니다. |
| 분산 제거 | PCA 전에 데이터에서 체계적인 편향을 제거합니다(예: 각 PC를 단위 분산으로 스케일링). |
| 저장 및 로드 | 적합된 pca 객체를 디스크에 직렬화하고 나중에 다시 로드하여 변환 행렬을 유지합니다. |
| 이산 데이터 지원 | 적절한 인코딩 후 범주형/이산 데이터셋에서 작동합니다(README에 예시 있음). |
🚀 시작하기
# PyPI에서 설치
pip install pca
from pca import pca
# 예시 – 고전적인 Iris 데이터셋
model = pca(n_components=2) # PC 수 선택
X_red = model.fit_transform(X) # X는 NumPy/pandas 행렬
model.biplot() # 빠른 시각화
문서(배지 바에서 링크됨)에는 완전한 빠른 시작 노트북, Colab 링크, 플롯 갤러리가 포함되어 있습니다.
📚 문서 및 학습 리소스
- API 참조 – https://erdogant.github.io/pca/
- 튜토리얼 노트북 – README의 Colab 배지; 예제 페이지에서 단계별 사용 사례 확인.
- Medium 기사 – PCA 기본, 외부 관측치 탐지, 특성 중요도에 대한 짧은 가이드(테이블 내 링크 제공).
- Gumroad – 심층 분석을 위한 유료/확장된 글 및 팟캐스트 에피소드(선택 사항).
👥 커뮤니티 및 유지보수
- 관리자 – Erdogan Taskesen (GitHub
erdogant). - 라이선스 – MIT(허용성 높음, 상업적 이용 가능).
- 활동 상태 – 배지로 활성 상태, 최신 릴리스, 안정적인 다운로드 수(수만 건/월)를 보여줍니다.
- 기여 – 풀 리퀘스트 환영; 기여자는
contrib.rocks로 표시. - 지원 – 관리자에게 기부할 수 있는 버튼(Buy-me-a-coffee).
TL;DR
pca는 scikit-learn의 선형 분해 도구를 얇게 래핑한 라이브러리로, 미리 만들어진 시각화, 외부 관측치 탐지, 특성 중요도 및 모델 지속성에 대한 편의 함수를 추가합니다. 커스텀 matplotlib 코드를 작성하지 않고도 빠르고 출판 가능한 PCA 플롯이 필요한 데이터 과학자에게 유용합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트