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 플롯이 필요한 데이터 과학자에게 유용합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트