# src.spectral_clustering.spectral_clustering¶

src.spectral_clustering.spectral_clustering(sim_matrix: torch.Tensor, cluster_num: int, init: Optional[torch.Tensor] = None, return_state: bool = False, normalized: bool = False)[source]

Perform spectral clustering based on given similarity matrix.

This function firstly computes the leading eigenvectors of the given similarity matrix, and then utilizes the eigenvectors as features and performs k-means clustering based on these features.

Parameters
• sim_matrix$$(n\times n)$$ input similarity matrix. $$n$$: number of instances

• cluster_num – number of clusters

• init – the initialization technique or initial features for k-means

• return_state – whether return state features (can be further used for prediction)

• normalized – whether to normalize the similarity matrix by its degree

Returns

the belonging of each instance to clusters, state features (if return_state==True)