谱协同聚类#
- class sklearn.cluster.SpectralCoclustering(n_clusters=3, *, svd_method='randomized', n_svd_vecs=None, mini_batch=False, init='k-means++', n_init=10, random_state=None)[source]#
- 谱协同聚类算法 (Dhillon, 2001)。 - 对数组 - X的行和列进行聚类,以解决由- X创建的二部图的松弛归一化割问题:行顶点- i和列顶点- j之间的边的权重为- X[i, j]。- 生成的双聚类结构是块对角的,因为每一行和每一列都只属于一个双聚类。 - 支持稀疏矩阵,只要它们是非负的。 - 更多信息请参见用户指南。 - 参数:
- n_clustersint, 默认值=3
- 要查找的双聚类的数量。 
- svd_method{'randomized', 'arpack'}, 默认值='randomized'
- 选择用于查找奇异向量的算法。可以是 'randomized' 或 'arpack'。如果为 'randomized',则使用 - sklearn.utils.extmath.randomized_svd,对于大型矩阵,这可能更快。如果为 'arpack',则使用- scipy.sparse.linalg.svds,它更准确,但在某些情况下可能更慢。
- n_svd_vecsint, 默认值=None
- 计算 SVD 时使用的向量数量。当 - svd_method=arpack时对应于- ncv,当- svd_method为 'randomized' 时对应于- n_oversamples。
- mini_batchbool, 默认值=False
- 是否使用 mini-batch k-means,它更快,但可能会得到不同的结果。 
- init{'k-means++', 'random'},或 shape 为 (n_clusters, n_features) 的 ndarray,默认值='k-means++'
- k-means 算法初始化的方法;默认为 'k-means++'。 
- n_initint, 默认值=10
- 使用 k-means 算法尝试的随机初始化次数。 - 如果使用 mini-batch k-means,则选择最佳初始化,并且算法运行一次。否则,算法将针对每次初始化运行,并选择最佳解决方案。 
- random_stateint,RandomState 实例,默认值=None
- 用于随机化奇异值分解和 k-means 初始化。使用整数可以使随机性确定性。参见 词汇表。 
 
- 属性:
- rows_shape 为 (n_row_clusters, n_rows) 的类数组
- 聚类结果。 - rows[i, r]为 True 表示聚类- i包含行- r。只有在调用- fit后才可用。
- columns_shape 为 (n_column_clusters, n_columns) 的类数组
- 聚类结果,类似于 - rows。
- row_labels_shape 为 (n_rows,) 的类数组
- 每行的双聚类标签。 
- column_labels_shape 为 (n_cols,) 的类数组
- 每列的双聚类标签。 
- biclusters_两个 ndarray 的元组
- 方便获取行和列指示器的方法。 
- n_features_in_int
- 在 fit 期间看到的特征数量。 - 0.24 版本中添加。 
- feature_names_in_shape 为 (n_features_in_,) 的 ndarray
- 在 fit 期间看到的特征名称。仅当 - X的特征名称全部为字符串时才定义。- 1.0 版本中添加。 
 
 - 另请参见 - SpectralBiclustering
- 在数据具有底层棋盘结构的假设下对行和列进行划分。 
 - 参考文献 - 示例 - >>> from sklearn.cluster import SpectralCoclustering >>> import numpy as np >>> X = np.array([[1, 1], [2, 1], [1, 0], ... [4, 7], [3, 5], [3, 6]]) >>> clustering = SpectralCoclustering(n_clusters=2, random_state=0).fit(X) >>> clustering.row_labels_ array([0, 1, 1, 0, 0, 0], dtype=int32) >>> clustering.column_labels_ array([0, 0], dtype=int32) >>> clustering SpectralCoclustering(n_clusters=2, random_state=0) - property biclusters_#
- 方便获取行和列指示器的方法。 - 返回 - rows_和- columns_成员。
 - fit(X, y=None)[source]#
- 为 X 创建双聚类。 - 参数:
- Xshape 为 (n_samples, n_features) 的类数组
- 训练数据。 
- y忽略
- 未使用,根据约定保留以保持 API 一致性。 
 
- 返回值:
- self对象
- SpectralBiclustering 实例。 
 
 
 - get_indices(i)[source]#
- 第 - i个双聚类的行和列索引。- 只有当 - rows_和- columns_属性存在时才有效。- 参数:
- iint
- 聚类的索引。 
 
- 返回值:
- row_indndarray,dtype=np.intp
- 属于双聚类的数列中的行索引。 
- col_indndarray,dtype=np.intp
- 属于双聚类的数列中的列索引。 
 
 
 - get_metadata_routing()[source]#
- 获取此对象的元数据路由。 - 请查看 用户指南,了解路由机制的工作原理。 - 返回值:
- routingMetadataRequest
- 一个 - MetadataRequest,封装了路由信息。
 
 
 - get_params(deep=True)[source]#
- 获取此估计器的参数。 - 参数:
- deepbool, 默认值=True
- 如果为 True,将返回此估计器和包含的作为估计器的子对象的参数。 
 
- 返回值:
- paramsdict
- 参数名称与其值的映射。 
 
 
 
 
     
