SpectralCoclustering#
- 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)[源代码]#
光谱共聚类算法(Dhillon,2001)。
Clusters rows and columns of an array
X
to solve the relaxed normalized cut of the bipartite graph created fromX
as follows: the edge between row vertexi
and column vertexj
has weightX[i, j]
.由此产生的双集群结构是块对角线的,因为每一行和每列恰好属于一个双集群。
支持稀疏矩阵,只要它们是非负的。
阅读更多的 User Guide .
- 参数:
- n_clustersint,默认=3
要查找的双集群数量。
- svd_method'随机',',默认='随机'
给出了求奇异向量的算法。可以是“随机”或“arpack”。如果“随机化”,请使用
sklearn.utils.extmath.randomized_svd
,对于大型矩阵来说,这可能更快。如果“arpack”,请使用scipy.sparse.linalg.svds
,这更准确,但在某些情况下可能会更慢。- n_svd_vecsint,默认=无
计算SVD时使用的向量数。对应于
ncv
当svd_method=arpack
和n_oversamples
当svd_method
是“随机的”。- mini_batch布尔,默认=假
是否使用迷你批量k均值,它更快,但可能会得到不同的结果。
- init{'k-means++', 'random'}, or ndarray of shape (n_clusters, n_features), default='k-means++'
用于初始化k-means算法的方法;默认为“k-means++”。
- n_initint,默认值=10
使用k均值算法尝试的随机初始化数量。
如果使用小批量k-means,则选择最佳初始化并运行一次算法。否则,该算法将在每次初始化时运行,并选择最佳解决方案。
- random_stateint,RandomState实例,默认=无
用于随机化奇异值分解和k均值初始化。使用int使随机性具有确定性。看到 Glossary .
- 属性:
- rows_数组状的形状(n_row_clusters,n_rows)
集群的结果。
rows[i, r]
如果集群,则为真i
包含行r
.仅在致电后可用fit
.- columns_形状类似阵列(n_列_集群,n_列)
Results of the clustering, like
rows
.- row_labels_array-like of shape(n_rows,)
每一行的双集群标签。
- column_labels_形状类似阵列(n_RST,)
每列的双群集标签。
biclusters_
两个ndarray的多元组将行和列指示器结合在一起的便捷方法。
- n_features_in_int
期间看到的功能数量 fit .
Added in version 0.24.
- feature_names_in_ :nd形状数组 (
n_features_in_
,)nd数组形状( Names of features seen during fit. Defined only when
X
has feature names that are all strings.Added in version 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)
- fit(X, y=None)[源代码]#
为X创建双聚类。
- 参数:
- X形状类似阵列(n_samples,n_features)
训练数据。
- y忽视
未使用,按照惯例,为了API一致性而存在。
- 返回:
- self对象
SpectralBustering实例。
- get_indices(i)[源代码]#
对象的行索引和列索引
i
第二个二元集群。只有在以下情况下才有效
rows_
和columns_
属性存在。- 参数:
- iint
集群的索引。
- 返回:
- row_indndray,dype =NP.intp
数据集中属于双集群的行的索引。
- col_indndray,dype =NP.intp
数据集中属于双聚类的列的索引。
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请检查 User Guide 关于路由机制如何工作。
- 返回:
- routingMetadataRequest
A
MetadataRequest
封装路由信息。
- get_params(deep=True)[源代码]#
获取此估计器的参数。
- 参数:
- deep布尔,默认=True
如果为True,将返回此估计量和包含的作为估计量的子对象的参数。
- 返回:
- paramsdict
参数名称映射到其值。