當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。