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

Spectral Co-Clustering-Algorithmus (Dhillon, 2001) [1].

Cluster Zeilen und Spalten eines Arrays X, um den entspannten normalisierten Schnitt des bipartiten Graphen zu lösen, der aus X erstellt wird, wie folgt: Die Kante zwischen dem Zeilenknoten i und dem Spaltenknoten j hat das Gewicht X[i, j].

Die resultierende Bicluster-Struktur ist blockdiagonal, da jede Zeile und jede Spalte zu genau einem Bicluster gehört.

Unterstützt spärliche Matrizen, solange diese nicht-negativ sind.

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
n_clustersint, default=3

Die Anzahl der zu findenden Bicluster.

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

Wählt den Algorithmus zur Ermittlung der singulären Vektoren aus. Kann ‘randomized’ oder ‘arpack’ sein. Wenn ‘randomized’, verwenden Sie sklearn.utils.extmath.randomized_svd, was für große Matrizen schneller sein kann. Wenn ‘arpack’, verwenden Sie scipy.sparse.linalg.svds, was genauer, aber in einigen Fällen möglicherweise langsamer ist.

n_svd_vecsint, default=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, default=False

Ob Mini-Batch-k-Means verwendet werden soll, was schneller ist, aber andere Ergebnisse liefern kann.

init{‘k-means++’, ‘random’}, or ndarray of shape (n_clusters, n_features), default=’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 versucht 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

Wird zur Zufälligkeitsermittlung der Singulärwertzerlegung und der k-Means-Initialisierung verwendet. Verwenden Sie eine Ganzzahl, um die Zufälligkeit deterministisch zu machen. Siehe Glossar.

Attribute:
rows_array-like of shape (n_row_clusters, n_rows)

Ergebnisse der Clusterbildung. rows[i, r] ist Wahr, wenn Cluster i Zeile r enthält. Nur nach dem Aufruf von fit verfügbar.

columns_array-like of shape (n_column_clusters, n_columns)

Ergebnisse der Clusterbildung, ähnlich wie rows.

row_labels_array-like of shape (n_rows,)

Das Bicluster-Label jeder Zeile.

column_labels_array-like of shape (n_cols,)

Das Bicluster-Label jeder Spalte.

biclusters_tuple of two 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

SpectralBiclustering

Partitioniert Zeilen und Spalten unter der Annahme, dass die Daten eine zugrunde liegende Schachbrettstruktur aufweisen.

Referenzen

Beispiele

>>> 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)

Ein detaillierteres Beispiel finden Sie unter: Eine Demo des Spectral Co-Clustering-Algorithmus.

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

Erstellt eine Biclusterbildung 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)[source]#

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

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

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

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

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

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.