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)[Quelle]#

Spektrale Biclustering (Kluger, 2003) [1].

Partitioniert Zeilen und Spalten unter der Annahme, dass die Daten eine zugrundeliegende Schachbrettstruktur aufweisen. Wenn es beispielsweise zwei Zeilenpartitionen und drei Spaltenpartitionen gibt, gehört jede Zeile zu drei Biclustern und jede Spalte zu zwei Biclustern. Das äußere Produkt der entsprechenden Zeilen- und Spaltenlabelvektoren ergibt diese Schachbrettstruktur.

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
n_clustersint oder Tupel (n_row_clusters, n_column_clusters), Standard=3

Die Anzahl der Zeilen- und Spaltencluster in der Schachbrettstruktur.

method{‘bistochastic’, ‘scale’, ‘log’}, Standard=’bistochastic’

Methode zur Normalisierung und Umwandlung von Singulärvektoren in Bicluster. Kann ‘scale’, ‘bistochastic’ oder ‘log’ sein. Die Autoren empfehlen die Verwendung von ‘log’. Wenn die Daten spärlich sind, funktioniert die logarithmische Normalisierung jedoch nicht, weshalb der Standardwert ‘bistochastic’ ist.

Warnung

Wenn method='log', dürfen die Daten nicht spärlich sein.

n_componentsint, Standard=6

Anzahl der zu prüfenden Singulärvektoren.

n_bestint, Standard=3

Anzahl der besten Singulärvektoren, auf die die Daten für das Clustering projiziert werden sollen.

svd_method{‘randomized’, ‘arpack’}, Standard=’randomized’

Wählt den Algorithmus zur Ermittlung von Singulärvektoren aus. Kann ‘randomized’ oder ‘arpack’ sein. Bei ‘randomized’ wird randomized_svd verwendet, was für große Matrizen schneller sein kann. Bei ‘arpack’ wird scipy.sparse.linalg.svds verwendet, was genauer, aber in einigen Fällen möglicherweise langsamer ist.

n_svd_vecsint, Standard=None

Anzahl der Vektoren, die zur Berechnung der SVD verwendet werden. Entspricht ncv, wenn svd_method=arpack und n_oversamples, wenn svd_method ‘randomized` ist.

mini_batchbool, Standard=False

Ob Mini-Batch-K-Means verwendet werden soll, was schneller ist, aber zu anderen Ergebnissen führen kann.

init{‘k-means++’, ‘random’} oder ndarray der Form (n_clusters, n_features), Standard=’k-means++’

Methode zur Initialisierung des K-Means-Algorithmus; Standard ist ‘k-means++’.

n_initint, Standard=10

Anzahl der zufälligen Initialisierungen, die mit dem K-Means-Algorithmus ausprobiert werden.

Wenn Mini-Batch-K-Means verwendet wird, wird die beste Initialisierung ausgewählt und der Algorithmus einmal ausgeführt. Andernfalls wird der Algorithmus für jede Initialisierung ausgeführt und die beste Lösung ausgewählt.

random_stateint, RandomState instance, default=None

Verwendet für die Zufälligkeit der Singulärwertzerlegung und die K-Means-Initialisierung. Verwenden Sie eine Ganzzahl, um die Zufälligkeit deterministisch zu machen. Siehe Glossar.

Attribute:
rows_array-like der Form (n_row_clusters, n_rows)

Ergebnisse des Clusterings. rows[i, r] ist True, wenn Cluster i Zeile r enthält. Nur nach Aufruf von fit verfügbar.

columns_array-like der Form (n_column_clusters, n_columns)

Ergebnisse des Clusterings, ähnlich wie rows.

row_labels_array-like der Form (n_rows,)

Zeilenpartitionsbezeichnungen.

column_labels_array-like der Form (n_cols,)

Spaltenpartitionsbezeichnungen.

biclusters_Tupel aus zwei ndarrays

Bequeme Möglichkeit, Zeilen- und Spaltenindikatoren zusammen zu erhalten.

n_features_in_int

Anzahl der während des fits gesehenen Merkmale.

Hinzugefügt in Version 0.24.

feature_names_in_ndarray mit Form (n_features_in_,)

Namen der während fit gesehenen Merkmale. Nur definiert, wenn X Merkmalnamen hat, die alle Zeichenketten sind.

Hinzugefügt in Version 1.0.

Siehe auch

SpectralCoclustering

Clusteriert Zeilen und Spalten eines Arrays X, um den entspannten normalisierten Schnitt des aus X erzeugten bipartiten Graphen zu lösen.

Referenzen

Beispiele

>>> 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([1, 0], dtype=int32)
>>> clustering
SpectralBiclustering(n_clusters=2, random_state=0)

Ein detaillierteres Beispiel finden Sie unter Eine Demo des Spektralen Biclustering-Algorithmus

fit(X, y=None)[Quelle]#

Erstellt ein Biclustering für X.

Parameter:
Xarray-like der Form (n_samples, n_features)

Trainingsdaten.

yIgnoriert

Wird nicht verwendet, ist aber aus Gründen der API-Konsistenz per Konvention vorhanden.

Gibt zurück:
selfobject

SpectralBiclustering-Instanz.

get_indices(i)[Quelle]#

Zeilen- und Spaltenindizes des i-ten Biclusters.

Funktioniert nur, wenn die Attribute rows_ und columns_ vorhanden sind.

Parameter:
iint

Der Index des Clusters.

Gibt zurück:
row_indndarray, dtype=np.intp

Indizes der Zeilen im Datensatz, die zum Bicluster gehören.

col_indndarray, dtype=np.intp

Indizes der Spalten im Datensatz, die zum Bicluster gehören.

get_metadata_routing()[Quelle]#

Holt das Metadaten-Routing dieses Objekts.

Bitte prüfen Sie im Benutzerhandbuch, wie der Routing-Mechanismus funktioniert.

Gibt zurück:
routingMetadataRequest

Ein MetadataRequest, der Routing-Informationen kapselt.

get_params(deep=True)[Quelle]#

Holt Parameter für diesen Schätzer.

Parameter:
deepbool, default=True

Wenn True, werden die Parameter für diesen Schätzer und die enthaltenen Unterobjekte, die Schätzer sind, zurückgegeben.

Gibt zurück:
paramsdict

Parameternamen, zugeordnet ihren Werten.

get_shape(i)[Quelle]#

Form des i-ten Biclusters.

Parameter:
iint

Der Index des Clusters.

Gibt zurück:
n_rowsint

Anzahl der Zeilen im Bicluster.

n_colsint

Anzahl der Spalten im Bicluster.

get_submatrix(i, data)[Quelle]#

Gibt die Untermatrix zurück, die dem Bicluster i entspricht.

Parameter:
iint

Der Index des Clusters.

dataarray-like of shape (n_samples, n_features)

Die Daten.

Gibt zurück:
submatrixndarray of shape (n_rows, n_cols)

Die Untermatrix, die dem Bicluster i entspricht.

Anmerkungen

Funktioniert mit dünnbesetzten Matrizen. Funktioniert nur, wenn die Attribute rows_ und columns_ vorhanden sind.

set_params(**params)[Quelle]#

Setzt die Parameter dieses Schätzers.

Die Methode funktioniert sowohl bei einfachen Schätzern als auch bei verschachtelten Objekten (wie Pipeline). Letztere haben Parameter der Form <component>__<parameter>, so dass es möglich ist, jede Komponente eines verschachtelten Objekts zu aktualisieren.

Parameter:
**paramsdict

Schätzer-Parameter.

Gibt zurück:
selfestimator instance

Schätzer-Instanz.