250x250
반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- login crawling
- chatGPT
- 상관관계
- gather_nd
- airflow subdag
- correlation
- integrated gradient
- GenericGBQException
- subdag
- API Gateway
- youtube data
- requests
- Retry
- UDF
- spark udf
- XAI
- BigQuery
- 공분산
- Counterfactual Explanations
- API
- flask
- tensorflow text
- TensorFlow
- hadoop
- top_k
- grad-cam
- GCP
- 유튜브 API
- Airflow
- session 유지
Archives
- Today
- Total
데이터과학 삼학년
PCA (Principal Component Analysis) 종류 본문
반응형
Random PCA
- 확률적 알고리즘을 사용해 처음 d개의 주성분에 대한 근삿값을 빠르게 서치
- 완전한 SVD 방식 : O(m * n^2) + O(n^3)
- Random PCA : O(m * d^2) + O(d^3)
- d가 n 보다 많이 작으면 완전 SVD 보다 훨씬 빠르게 찾음
pca = PCA(n_components=154, svd_solver='randomized')
Incremental PCA (IPCA)
- PCA 구현의 문제는 SVD를 실행하기위해 전체 훈련세트를 메모리에 올려야하는 문제이다.
- 이를 해결하기 위해 미니배치를 이용해 점진적으로 PCA를 구현하는 알고리즘이 출현
transformer = IncrementalPCA(n_components=7, batch_size=200)
# either partially fit on smaller batches of data
for X_batch in np.array_split(X_train,n_batches):
transformer.partial_fit(X_batch)
X_reduced = transformer.transform(X_train)
Kernel PCA (kPCA)
- 매우 높은 고차원공간으로 암묵적으로 매핑하여 서포트 벡터 머신의 회귀/분류 가능 기법 --> 커널 트릭
- 커널 트릭 기법을 PCA에 적용한 기법 --> kPCA
transformer = KernelPCA(n_components=7, kernel='linear') # kernel='rbf'
X_transformed = transformer.fit_transform(X)

728x90
반응형
LIST
'Machine Learning' 카테고리의 다른 글
| 한개의 모델로 성격이 비슷한 여러개의 모델을 대체해보자 (0) | 2021.03.05 |
|---|---|
| Autoencoder 를 이용한 차원 축소 (latent representation) (0) | 2021.03.03 |
| PCA (Principal Component Analysis) - 주성분 분석 (1) | 2021.01.13 |
| Batch normalization 적용으로 train set 데이터의 정규화 대체! (0) | 2021.01.08 |
| [Clustering] DBSCAN (0) | 2021.01.01 |
Comments