Biclustering in Scikit-Learn

Machine LearningMachine LearningBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Biclustering ist eine Methode, die Zeilen und Spalten einer Datenmatrix gleichzeitig gruppiert. Dies ermöglicht es uns, Teilmatrizen innerhalb der Datenmatrix zu identifizieren, die bestimmte Eigenschaften aufweisen. Biclustering ist in verschiedenen Domänen nützlich, einschließlich der Datenanalyse, der Bildverarbeitung und der Bioinformatik.

In diesem Lab werden wir lernen, wie man Biclustering mit dem Modul sklearn.cluster.bicluster in scikit-learn durchführt. Wir werden zwei gängige Biclustering-Algorithmen untersuchen: Spectral Co-Clustering und Spectral Biclustering. Diese Algorithmen unterscheiden sich darin, wie sie Zeilen und Spalten zu Biclustern definieren und zuweisen.

VM-Tipps

Nachdem die VM gestartet ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/cluster("Clustering") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/cluster -.-> lab-71117{{"Biclustering in Scikit-Learn"}} ml/sklearn -.-> lab-71117{{"Biclustering in Scikit-Learn"}} end

Importieren der erforderlichen Bibliotheken und des Datensatzes

Zunächst importieren wir die erforderlichen Bibliotheken und laden einen Beispiel-Datensatz, den wir für das Biclustering verwenden werden.

import numpy as np
from sklearn.cluster import SpectralCoclustering, SpectralBiclustering

## Lade Beispiel-Daten
data = np.arange(100).reshape(10, 10)

Führen Sie das Spectral Co-Clustering durch

Jetzt führen wir das Biclustering mit dem Spectral Co-Clustering-Algorithmus durch. Dieser Algorithmus findet Bicluster mit höheren Werten im Vergleich zu anderen Zeilen und Spalten.

## Initialisieren und anpassen des Spectral Co-Clustering-Modells
model_co = SpectralCoclustering(n_clusters=3, random_state=0)
model_co.fit(data)

## Holen Sie sich die Zeilen- und Spaltenclusterzugehörigkeit
row_clusters_co = model_co.row_labels_
column_clusters_co = model_co.column_labels_

Führen Sie das Spectral Biclustering durch

Als nächstes führen wir das Biclustering mit dem Spectral Biclustering-Algorithmus durch. Dieser Algorithmus geht davon aus, dass die Datenmatrix eine versteckte Schachbrettstruktur aufweist.

## Initialisieren und anpassen des Spectral Biclustering-Modells
model_bi = SpectralBiclustering(n_clusters=(2, 3), random_state=0)
model_bi.fit(data)

## Holen Sie sich die Zeilen- und Spaltenclusterzugehörigkeit
row_clusters_bi = model_bi.row_labels_
column_clusters_bi = model_bi.column_labels_

Visualisieren der Ergebnisse

Schließlich visualisieren wir die Biclusterstrukturen, die aus den Spectral Co-Clustering- und Spectral Biclustering-Algorithmen erhalten wurden.

## Visualisierung für Spectral Co-Clustering
print("Spectral Co-Clustering:")
print("Zeilencluster:")
print(row_clusters_co)
print("Spaltencluster:")
print(column_clusters_co)

## Visualisierung für Spectral Biclustering
print("\nSpectral Biclustering:")
print("Zeilencluster:")
print(row_clusters_bi)
print("Spaltencluster:")
print(column_clusters_bi)

Zusammenfassung

In diesem Lab haben wir gelernt, wie man mit den Spectral Co-Clustering- und Spectral Biclustering-Algorithmen in scikit-learn Biclustering durchführt. Biclustering ermöglicht es uns, Zeilen und Spalten einer Datenmatrix gleichzeitig zu gruppieren, um Teilmatrizen mit bestimmten Eigenschaften zu identifizieren. Biclustering kann bei verschiedenen Datenanalyseaufgaben nützlich sein, wie zum Beispiel beim Identifizieren von Mustern in Genexpressionsdaten oder beim Finden von Strukturen in Bilddatensätzen.