-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Description
Would it be okay to switch:
Autometa/autometa/common/kmers.py
Lines 601 to 607 in 0d9028c
| if n_components > pca_dimensions and pca_dimensions != 0: | |
| logger.debug( | |
| f"Performing decomposition with PCA (seed {seed}): {n_components} to {pca_dimensions} dims" | |
| ) | |
| X = PCA(n_components=pca_dimensions, random_state=random_state).fit_transform(X) | |
| # X = PCA(n_components='mle').fit_transform(X) | |
| n_samples, n_components = X.shape |
to adapt to a lower pca dimension when there aren't enough contigs/kmers
if n_components > pca_dimensions and pca_dimensions != 0:
if n_samples < pca_dimensions:
logging.warning(f"n_samples ({n_samples}) is less than pca_dimensions ({pca_dimensions}), lowering pca_dimensions to {min(n_samples, n_components)} .")
pca_dimensions = min(n_samples, n_components)
logger.debug(
f"Performing decomposition with PCA (seed {seed}): {n_components} to {pca_dimensions} dims"
)
X = PCA(n_components=pca_dimensions, random_state=random_state).fit_transform(X)
n_samples, n_components = X.shapeMetadata
Metadata
Assignees
Labels
No labels