Hinweis
Zum Ende springen, um den vollständigen Beispielcode herunterzuladen oder dieses Beispiel über JupyterLite oder Binder in Ihrem Browser auszuführen.
Eine Demo des Spectral Co-Clustering-Algorithmus#
Dieses Beispiel demonstriert, wie ein Datensatz generiert und mit dem Spectral Co-Clustering-Algorithmus bi-clustert wird.
Der Datensatz wird mit der Funktion make_biclusters generiert, die eine Matrix mit kleinen Werten erstellt und eine Bi-Cluster mit großen Werten einbettet. Die Zeilen und Spalten werden dann gemischt und an den Spectral Co-Clustering-Algorithmus übergeben. Das Neuordnen der gemischten Matrix, um die Bi-Cluster zusammenhängend zu machen, zeigt, wie genau der Algorithmus die Bi-Cluster gefunden hat.
consensus score: 1.000
# Authors: The scikit-learn developers
# SPDX-License-Identifier: BSD-3-Clause
import numpy as np
from matplotlib import pyplot as plt
from sklearn.cluster import SpectralCoclustering
from sklearn.datasets import make_biclusters
from sklearn.metrics import consensus_score
data, rows, columns = make_biclusters(
shape=(300, 300), n_clusters=5, noise=5, shuffle=False, random_state=0
)
plt.matshow(data, cmap=plt.cm.Blues)
plt.title("Original dataset")
# shuffle clusters
rng = np.random.RandomState(0)
row_idx = rng.permutation(data.shape[0])
col_idx = rng.permutation(data.shape[1])
data = data[row_idx][:, col_idx]
plt.matshow(data, cmap=plt.cm.Blues)
plt.title("Shuffled dataset")
model = SpectralCoclustering(n_clusters=5, random_state=0)
model.fit(data)
score = consensus_score(model.biclusters_, (rows[:, row_idx], columns[:, col_idx]))
print("consensus score: {:.3f}".format(score))
fit_data = data[np.argsort(model.row_labels_)]
fit_data = fit_data[:, np.argsort(model.column_labels_)]
plt.matshow(fit_data, cmap=plt.cm.Blues)
plt.title("After biclustering; rearranged to show biclusters")
plt.show()
Gesamtlaufzeit des Skripts: (0 Minuten 0,238 Sekunden)
Verwandte Beispiele
Biclustering von Dokumenten mit dem Spectral Co-Clustering Algorithmus
Segmentierung des Bildes von griechischen Münzen in Regionen
Eine Demo des strukturierten Ward Hierarchischen Clusterings auf einem Bild von Münzen


