Introduction
Le biclustering est une méthode qui effectue simultanément le regroupement des lignes et des colonnes d'une matrice de données. Cela nous permet d'identifier des sous-matrices dans la matrice de données qui ont des propriétés spécifiques. Le biclustering est utile dans divers domaines, y compris l'analyse de données, le traitement d'images et l'informatique bio.
Dans ce laboratoire, nous allons apprendre à effectuer le biclustering à l'aide du module sklearn.cluster.bicluster dans scikit-learn. Nous allons explorer deux algorithmes de biclustering courants : le co-clustering spectral et le biclustering spectral. Ces algorithmes diffèrent par la manière dont ils définissent et attribuent les lignes et les colonnes aux biclusters.
Conseils sur la VM
Une fois le démarrage de la VM terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.
Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.
Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous réglerons rapidement le problème pour vous.
Importez les bibliothèques et le jeu de données nécessaires
Tout d'abord, importons les bibliothèques nécessaires et chargeons un jeu de données d'échantillonnage que nous utiliserons pour le biclustering.
import numpy as np
from sklearn.cluster import SpectralCoclustering, SpectralBiclustering
## Chargez les données d'échantillonnage
data = np.arange(100).reshape(10, 10)
Effectuez le co-clustering spectral
Maintenant, effectuons le biclustering à l'aide de l'algorithme de co-clustering spectral. Cet algorithme trouve des biclusters avec des valeurs plus élevées par rapport à d'autres lignes et colonnes.
## Initialisez et ajustez le modèle de co-clustering spectral
model_co = SpectralCoclustering(n_clusters=3, random_state=0)
model_co.fit(data)
## Obtenez la appartenance aux clusters de lignes et de colonnes
row_clusters_co = model_co.row_labels_
column_clusters_co = model_co.column_labels_
Effectuez le biclustering spectral
Ensuite, effectuons le biclustering à l'aide de l'algorithme de biclustering spectral. Cet algorithme suppose que la matrice de données a une structure d'échiquier cachée.
## Initialisez et ajustez le modèle de biclustering spectral
model_bi = SpectralBiclustering(n_clusters=(2, 3), random_state=0)
model_bi.fit(data)
## Obtenez la appartenance aux clusters de lignes et de colonnes
row_clusters_bi = model_bi.row_labels_
column_clusters_bi = model_bi.column_labels_
Visualisez les résultats
Enfin, visualisons les structures de biclusters obtenues à partir des algorithmes de co-clustering spectral et de biclustering spectral.
## Visualisation pour le co-clustering spectral
print("Co-clustering spectral :")
print("Clusters de lignes :")
print(row_clusters_co)
print("Clusters de colonnes :")
print(column_clusters_co)
## Visualisation pour le biclustering spectral
print("\nBiclustering spectral :")
print("Clusters de lignes :")
print(row_clusters_bi)
print("Clusters de colonnes :")
print(column_clusters_bi)
Sommaire
Dans ce laboratoire, nous avons appris à effectuer le biclustering à l'aide des algorithmes de co-clustering spectral et de biclustering spectral dans scikit-learn. Le biclustering nous permet de regrouper simultanément les lignes et les colonnes d'une matrice de données pour identifier des sous-matrices avec des propriétés spécifiques. Le biclustering peut être utile dans diverses tâches d'analyse de données, telles que l'identification de motifs dans les données d'expression génique ou la découverte de structures dans les ensembles de données d'images.