Skip to content
Tutoriels
Streamlit
How to Use Streamlit with Seaborn: A Quick Guide

Comment utiliser Streamlit avec Seaborn : un guide rapide

Dans le domaine de la visualisation des données en Python, deux noms se distinguent souvent : Streamlit et Seaborn. Ces bibliothèques puissantes ont révolutionné la façon dont nous visualisons les données, les rendant plus accessibles et instructives. Dans ce guide complet, nous explorerons l'intégration de Streamlit et Seaborn, en montrant comment ils peuvent fonctionner ensemble pour créer des visualisations étonnantes.

Que vous soyez un data scientist chevronné ou un débutant dans le monde de la visualisation des données, ce guide vous offre des informations précieuses. Nous commencerons par les bases, en définissant ce que sont Streamlit et Seaborn, pour ensuite passer à des territoires plus complexes, tels que leur intégration et des exemples pratiques.

Présentation de Streamlit

Vous avez déjà eu l'impression de vous noyer dans le code lorsque vous essayez de construire une application de visualisation des données ? C'est là qu'intervient Streamlit. Cette bibliothèque open-source en Python est une bouffée d'air frais pour les développeurs, facilitant la création d'applications web interactives pour le machine learning et la data science.

Le charme de Streamlit réside dans sa simplicité. Imaginez construire une application web entièrement fonctionnelle avec seulement quelques lignes de code. Trop beau pour être vrai, n'est-ce pas ? Mais avec Streamlit, c'est une réalité.

Voici un aperçu rapide de ce que Streamlit apporte :

  • Simplicité : L'interface conviviale de Streamlit vous permet de vous concentrer davantage sur les données et moins sur le code.
  • Personnalisation : Vous souhaitez que votre application se démarque ? Streamlit vous permet de l'adapter à vos besoins spécifiques.
  • Intégration : Streamlit s'intègre parfaitement à d'autres bibliothèques Python, notamment Seaborn, Matplotlib et Altair. Cela en fait un couteau suisse dans la trousse à outils d'un data scientist.

Et qu'est-ce que Seaborn ?

Si Streamlit est la scène, Seaborn est l'artiste. Cette bibliothèque de visualisation des données en Python, basée sur Matplotlib, est comme un artiste, transformant les données brutes en graphiques statistiques attrayants et informatifs.

Seaborn brille lorsqu'il s'agit de visualiser des ensembles de données complexes avec plusieurs variables. C'est un peu comme avoir une loupe qui révèle des motifs et des relations dans vos données qui pourraient autrement passer inaperçus.

Voici quelques-unes des fonctionnalités marquantes de Seaborn :

  • Types de graphiques complexes : Avez-vous déjà entendu parler des graphiques de paires et des graphiques de corrélation ? Ce sont les spécialités de Seaborn, fournissant des informations précieuses sur vos données.
  • Intégration avec Pandas : Seaborn et Pandas vont de pair comme le beurre de cacahuète et la confiture. Cette intégration fait de Seaborn un excellent outil pour l'analyse exploratoire des données.

Streamlit et Seaborn : Un duo dynamique en visualisation des données

Lorsqu'ils sont utilisés séparément, Streamlit et Seaborn sont comme des super-héros dans le monde de la visualisation des données. Mais lorsqu'ils s'unissent, ils deviennent une force irrésistible. L'intégration de Streamlit et Seaborn vous permet de créer des visualisations interactives des données qui peuvent être partagées et consultées via une application web.

Cette combinaison puissante ouvre un monde de possibilités. Par exemple, vous pouvez utiliser Seaborn pour créer un graphique de paires complexe, puis utiliser Streamlit pour afficher ce graphique dans une application web. De cette façon, vous pouvez partager vos résultats avec d'autres personnes, même si elles n'ont pas Python ou Seaborn installés sur leur machine.

Mais comme tout duo dynamique, Streamlit et Seaborn ont leurs défis. Vous pourriez rencontrer des problèmes, tels que l'infâme "ImportError" ou l'erreur "savefig". Mais ne vous inquiétez pas, nous avons la solution. Nous aborderons ces problèmes et leurs solutions dans les sections suivantes.

Cependant, l'intégration de Streamlit et Seaborn n'est pas toujours simple. Vous pourriez rencontrer des problèmes, tels que l'infâme "ImportError" ou l'erreur "savefig". Mais ne vous inquiétez pas, nous aborderons ces problèmes et leurs solutions dans les sections suivantes.

Exemples d'utilisation de Streamlit avec Seaborn

Maintenant que nous avons couvert les bases, plongeons dans quelques exemples pratiques. Dans cette section, nous vous guiderons à travers le processus de création d'un pairplot Streamlit-Seaborn et d'un graphique de corrélation. Nous aborderons également l'erreur "savefig" qui se produit souvent lors de l'intégration de Streamlit et Seaborn.

Intégration de Streamlit et Seaborn

L'intégration de Streamlit et Seaborn exige quelques étapes. Tout d'abord, vous devrez importer les bibliothèques nécessaires. Ensuite, vous créerez votre graphique Seaborn et utiliserez Streamlit pour l'afficher. Voici un exemple simple :

import streamlit as st
import seaborn as sns
import pandas as pd
 
# Chargez vos données
df = pd.read_csv('vos_donnees.csv')
 
# Créez un pairplot Seaborn
plot = sns.pairplot(df)
 
# Affichez le graphique dans Streamlit
st.pyplot(plot.fig)

Dans cet exemple, nous importons d'abord les bibliothèques nécessaires (Streamlit, Seaborn et Pandas). Nous chargeons ensuite nos données à l'aide de Pandas. Ensuite, nous créons un pairplot à l'aide de Seaborn. Enfin, nous affichons le graphique dans Streamlit à l'aide de la fonction st.pyplot().

Affichage des graphiques Seaborn dans Streamlit

L'affichage des graphiques Seaborn dans Streamlit est simple. Vous créez simplement votre graphique Seaborn comme d'habitude, puis utilisez la fonction st.pyplot() pour l'afficher. Voici un exemple :

import streamlit as st
import seaborn as sns
import pandas as pd
 
# Chargez vos données
df = pd.read_csv('vos_donnees.csv')
 
# Créez un graphique de corrélation Seaborn
plot = sns.heatmap(df.corr(), annot=True)
 
# Affichez le graphique dans Streamlit
st.pyplot(plot.get_figure())

Dans cet exemple, nous créons un graphique de corrélation à l'aide de la fonction heatmap() de Seaborn. Ensuite, nous affichons le graphique dans Streamlit à l'aide de la fonction st.pyplot(). Notez que nous utilisons la méthode get_figure() pour obtenir l'objet de figure Matplotlib à partir du graphique Seaborn.

Créez une application de visualisation des données Streamlit avec PyGWalker

PyGWalker (opens in a new tab) est également un autre outil génial avec No Code. Vous pouvez facilement utiliser cette bibliothèque Python open source pour créer facilement des applications de visualisation de données Streamlit.

Démonstration en ligne de PyGWalker + Streamlit (opens in a new tab)

PyGWalker (opens in a new tab) est une bibliothèque Python qui vous aide à intégrer facilement une interface utilisateur similaire à Tableau dans votre propre application Streamlit sans effort.

Regardez cette vidéo étonnante produite par Sven de Coding is Fun (opens in a new tab) démontrant les étapes détaillées pour renforcer votre application Streamlit avec cette puissante bibliothèque Python de visualisation des données!


Un grand merci à Sven et sa grande contribution (opens in a new tab) à la communauté de PyGWalker!

De plus, vous pouvez également consulter ces ressources :

Visualiser les données dans Streamlit avec PyGWalker (opens in a new tab)

Exemple avancé : Créer une application Streamlit pour l'apprentissage automatique

Concentrons-nous sur la création d'une application d'apprentissage automatique avec Streamlit. Nous utiliserons un exemple simple : une application d'analyse de sentiment. Cette application prendra en entrée les textes saisis par l'utilisateur, prédira le sentiment des textes à l'aide d'un modèle pré-entraîné et affichera le résultat.

Étape 1 : Importer les bibliothèques nécessaires

Tout d'abord, nous devons importer les bibliothèques nécessaires. Nous aurons besoin de Streamlit pour l'application elle-même, et d'une bibliothèque d'apprentissage automatique pour l'analyse de sentiment. Pour cet exemple, nous utiliserons TextBlob.

import streamlit as st
from textblob import TextBlob

Étape 2 : Créer une fonction pour l'analyse de sentiment

Ensuite, nous allons créer une fonction qui prend une chaîne de texte en entrée et renvoie le sentiment du texte. La méthode sentiment.polarity de TextBlob renvoie un nombre flottant compris entre -1 et 1, où -1 correspond à un sentiment négatif, 1 à un sentiment positif et 0 à un sentiment neutre.

def analyze_sentiment(text):
    return TextBlob(text).sentiment.polarity

Étape 3 : Créer l'application Streamlit

Maintenant, nous allons créer l'application Streamlit. Nous commencerons par ajouter un titre et un champ de saisie de texte où les utilisateurs pourront saisir leur texte. Ensuite, nous ajouterons un bouton qui, lorsqu'il est cliqué, analysera le sentiment du texte saisi et affichera le résultat.

st.title('Application analyse de sentiment')
 
user_input = st.text_input("Saisissez le texte ici")
 
if st.button('Analyser'):
    sentiment = analyze_sentiment(user_input)
    if sentiment < 0:
        st.write('Le sentiment de ce texte est négatif.')
    elif sentiment > 0:
        st.write('Le sentiment de ce texte est positif.')
    else:
        st.write('Le sentiment de ce texte est neutre.')

Étape 4 : Exécuter l'application

Enfin, vous pouvez exécuter l'application en tapant streamlit run app.py dans votre terminal, où app.py est le nom de votre fichier Python.

Et voilà ! Vous avez maintenant une application d'analyse de sentiment. L'utilisateur peut saisir n'importe quel texte et l'application analysera et affichera le sentiment du texte. Il ne s'agit que d'un exemple simple, mais vous pouvez créer des applications d'apprentissage automatique beaucoup plus complexes avec Streamlit. Le ciel est la limite !

Conclusion

L'intégration de Streamlit et Seaborn est un changement de jeu dans le monde de la visualisation des données. Elle combine la simplicité et l'interactivité de Streamlit avec la puissance et la flexibilité de Seaborn, ouvrant ainsi un monde de possibilités pour les scientifiques des données et les développeurs.

Que vous créiez un pairplot complexe ou un simple graphique de corrélation, Streamlit et Seaborn sont là pour vous. Et avec les exemples pratiques et les tutoriels de ce guide, vous êtes bien parti pour maîtriser l'intégration de Streamlit et Seaborn.

Alors allez-y, essayez. Plongez dans le monde de Streamlit et Seaborn, et libérez la puissance de la visualisation des données !

Questions fréquemment posées

1. Puis-je utiliser Seaborn sur Streamlit ?

Absolument ! Streamlit s'intègre parfaitement à Seaborn, vous permettant de créer des visualisations de données interactives pouvant être partagées et consultées via une application web.

2. Comment afficher le graphique Seaborn dans Streamlit ?

Vous pouvez afficher un graphique Seaborn dans Streamlit en utilisant la fonction st.pyplot(). Créez simplement votre graphique Seaborn comme d'habitude, puis transmettez l'objet de la figure Matplotlib à st.pyplot().

3. Seaborn est-il meilleur que Matplotlib ?

Seaborn et Matplotlib ont des objectifs différents et sont souvent utilisés ensemble. Seaborn offre une interface de haut niveau pour dessiner de belles graphiques statistiques, tandis que Matplotlib offre plus de contrôle sur les détails du graphique. Selon vos besoins, l'un peut être plus adapté que l'autre.

4. À quoi sert Streamlit ?

Streamlit est une bibliothèque Python open source qui permet aux développeurs de créer des applications web interactives pour l'apprentissage automatique et la science des données. Il est conçu pour simplifier le processus de création et de partage d'outils d'apprentissage automatique, ce qui en fait un excellent choix pour la visualisation des données.