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
- 공분산
- Airflow
- youtube data
- requests
- API Gateway
- UDF
- 상관관계
- flask
- Retry
- airflow subdag
- XAI
- Counterfactual Explanations
- tensorflow text
- GenericGBQException
- TensorFlow
- grad-cam
- login crawling
- correlation
- gather_nd
- hadoop
- top_k
- integrated gradient
- 유튜브 API
- spark udf
- GCP
- session 유지
- chatGPT
- subdag
- BigQuery
- API
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) - 주성분 분석 (0) | 2021.01.13 |
Batch normalization 적용으로 train set 데이터의 정규화 대체! (0) | 2021.01.08 |
[Clustering] DBSCAN (0) | 2021.01.01 |
Comments