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_svdverwendet, was für große Matrizen schneller sein kann. Bei ‘arpack’ wirdscipy.sparse.linalg.svdsverwendet, 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, wennsvd_method=arpackundn_oversamples, wennsvd_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 ClusteriZeilerenthält. Nur nach Aufruf vonfitverfü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 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
SpectralCoclusteringClusteriert Zeilen und Spalten eines Arrays
X, um den entspannten normalisierten Schnitt des ausXerzeugten 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_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()[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
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)[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.