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.

  • Original dataset
  • Shuffled dataset
  • After biclustering; rearranged to show biclusters
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

Eine Demo des Spectral Biclustering Algorithmus

Eine Demo des Spectral Biclustering Algorithmus

Biclustering von Dokumenten mit dem Spectral Co-Clustering Algorithmus

Biclustering von Dokumenten mit dem Spectral Co-Clustering Algorithmus

Segmentierung des Bildes von griechischen Münzen in Regionen

Segmentierung des Bildes von griechischen Münzen in Regionen

Eine Demo des strukturierten Ward Hierarchischen Clusterings auf einem Bild von Münzen

Eine Demo des strukturierten Ward Hierarchischen Clusterings auf einem Bild von Münzen

Galerie generiert von Sphinx-Gallery