当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn SpectralBiclustering用法及代码示例


本文简要介绍python语言中 sklearn.cluster.SpectralBiclustering 的用法。

用法:

class sklearn.cluster.SpectralBiclustering(n_clusters=3, *, method='bistochastic', n_components=6, n_best=3, svd_method='randomized', n_svd_vecs=None, mini_batch=False, init='k-means++', n_init=10, random_state=None)

频谱双聚类(Kluger,2003)。

在假设数据具有底层棋盘结构的情况下对行和列进行分区。例如,如果有两个行分区和三个列分区,则每行将属于三个双簇,每列将属于两个双簇。相应的行和列标签向量的外积给出了这种棋盘结构。

在用户指南中阅读更多信息。

参数

n_clustersint 或元组 (n_row_clusters, n_column_clusters),默认 = 3

棋盘结构中的行和列簇的数量。

method{‘bistochastic’, ‘scale’, ‘log’},默认='双随机'

将奇异向量归一化并转换为双簇的方法。可能是 ‘scale’, ‘bistochastic’ 或 ‘log’ 之一。作者建议使用‘log’。但是,如果数据稀疏,则对数标准化将不起作用,这就是默认值为‘bistochastic’的原因。

警告

如果 method='log' ,数据必须是稀疏的。

n_components整数,默认=6

要检查的奇异向量的数量。

n_best整数,默认=3

将数据投影到以进行聚类的最佳奇异向量的数量。

svd_method{‘randomized’, ‘arpack’},默认='随机'

选择用于查找奇异向量的算法。可能是‘randomized’或‘arpack’。如果‘randomized’,使用 randomized_svd ,这对于大型矩阵可能更快。如果‘arpack’,则使用scipy.sparse.linalg.svds,这更准确,但在某些情况下可能会更慢。

n_svd_vecs整数,默认=无

用于计算 SVD 的向量数。当svd_method=arpackn_oversamplessvd_method 是“随机化”时对应于ncv

mini_batch布尔,默认=假

是否使用小批量k-means,速度更快但可能得到不同的结果。

init{'k-means++', ‘random’} 或 (n_clusters, n_features) 的 ndarray,默认 = 'k-means++'

k-means算法的初始化方法;默认为“k-means++”。

n_init整数,默认=10

使用 k-means 算法尝试的随机初始化次数。

如果使用小批量k-means,则选择最佳初始化并且算法运行一次。否则,算法会针对每个初始化运行并选择最佳解决方案。

random_stateint,RandomState 实例,默认=无

用于随机化奇异值分解和k-means 初始化。使用int 来确定随机性。请参阅词汇表。

属性

rows_形状类似数组 (n_row_clusters, n_rows)

聚类结果。如果集群 i 包含行 r ,则 rows[i, r] 为 True。仅在调用 fit 后可用。

columns_形状类似数组 (n_column_clusters, n_columns)

聚类结果,如 rows

row_labels_形状类似数组 (n_rows,)

行分区标签。

column_labels_形状类似数组 (n_cols,)

列分区标签。

biclusters_两个ndarrays的元组

将行和列指示器放在一起的便捷方式。

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

拟合期间看到的特征名称。仅当 X 具有全为字符串的函数名称时才定义。

参考

例子

>>> from sklearn.cluster import SpectralBiclustering
>>> import numpy as np
>>> X = np.array([[1, 1], [2, 1], [1, 0],
...               [4, 7], [3, 5], [3, 6]])
>>> clustering = SpectralBiclustering(n_clusters=2, random_state=0).fit(X)
>>> clustering.row_labels_
array([1, 1, 1, 0, 0, 0], dtype=int32)
>>> clustering.column_labels_
array([0, 1], dtype=int32)
>>> clustering
SpectralBiclustering(n_clusters=2, random_state=0)

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.cluster.SpectralBiclustering。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。