Source code for egc.model.graph_clustering.disjoint.pca_kmeans

"""pca_kmeans
"""
import numpy as np

from ....utils import MF
from ....utils import sk_clustering


[docs]def pca_kmeans( X: np.ndarray, n_clusters: int, n_components: int or float or str = None, ) -> np.ndarray: """Principal component analysis (PCA). Args: X (np.ndarray): array-like of shape (n_samples, n_features) Training data, where n_samples is the number of samples and n_features is the number of features. n_clusters (int): num of clusters. n_components (int or float or str): Number of components to keep. Defaults to None. Returns: np.ndarray: Community memberships. """ embedding = MF(X, n_components, name="PCA") label_pred = sk_clustering(embedding, n_clusters, name="kmeans") return label_pred