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 ausXerstellt wird, wie folgt: Die Kante zwischen dem Zeilenknoteniund dem Spaltenknotenjhat das GewichtX[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 Siescipy.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, wennsvd_method=arpackundn_oversamples, wennsvd_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 ClusteriZeilerenthält. Nur nach dem Aufruf vonfitverfü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 ndarraysBequeme 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
XMerkmalnamen hat, die alle Zeichenketten sind.Hinzugefügt in Version 1.0.
Siehe auch
SpectralBiclusteringPartitioniert 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_undcolumns_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
ientspricht.- 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
ientspricht.
Anmerkungen
Funktioniert mit dünnbesetzten Matrizen. Funktioniert nur, wenn die Attribute
rows_undcolumns_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.
Galeriebeispiele#
Biclustering von Dokumenten mit dem Spectral Co-Clustering Algorithmus