Ricerca nel sito web

Come esploro e visualizzo i dati con Python e Seaborn


Sommario

  • Seaborn è una libreria di visualizzazione dei dati facile da usare in Python.
  • L'installazione è semplice con PIP o Mamba e l'importazione di set di dati è semplice.
  • Seaborn è in grado di creare rapidamente istogrammi, grafici a dispersione e regressioni lineari per l'analisi dei dati.

Potresti aver sentito dire che Python è ottimo per l'analisi dei dati. Stai cercando un modo per visualizzare i dati che sia facile da usare e produca grafici di bell'aspetto? Seaborn potrebbe essere proprio quello che stai cercando.

Perché ho scelto Seaborn

Ho scelto Seaborn, una libreria Python per la visualizzazione dei dati creata da Michael Waskom perché mi sembrava facile da usare.

Volevo esplorare l'analisi dei dati e le statistiche in Python perché è un linguaggio popolare per la scienza e l'analisi dei dati e lo conoscevo. Avevo seguito un corso di base di statistica e probabilità al college, ma più di 20 anni dopo, potrebbero esserci state alcune cose su cui ero arrugginito.

Non sono mai stato così bravo nei calcoli, ma ci sono molti buoni software di statistica e matematica open source che mi permettono di esplorare concetti senza impantanarmi in equazioni e calcoli.

Matplotlib è popolare per la creazione di visualizzazioni di dati con Python, ma può essere difficile da imparare. Seaborn può creare delle trame dall'aspetto bellissimo e ha una sintassi semplice. Sono anche armato del libro Schaum's Outlines sulle statistiche.

Installazione di Seaborn

Se stai già utilizzando Python, un buon modo per installare Seaborn è tramite PIP:

        pip install seaborn
    

Ho un ambiente Mamba chiamato "stats" che contiene altre librerie popolari come NumPy, SciPy e Pandas.

Lo attivo con questo comando alla shell

        mamba activate stats
    

Posso eseguire i comandi Python in IPython o Jupyter.

Ricerca e importazione di dataset

Per avviare Seaborn, importalo utilizzando il comando di importazione Python standard

        import seaborn as sns
    

La convenzione è di utilizzare "sns" come abbreviazione di "seaborn" in quanto è più breve da digitare.

Puoi importare dati da fogli di calcolo come Excel, ma anche i "valori separati da virgole" o i file CSV sono comuni, soprattutto per i set di dati che troverai online. Puoi leggere questi file con la libreria Pandas. Per caricare un file CSV nella directory corrente:

        import pandas as pd
data = pd.read_csv("example.csv")
    

Seaborn ha anche diversi set di dati già integrati. Quando si utilizzano questi set di dati. Per visualizzarli, utilizzare il metodo get_dataset_names:

        sns.get_dataset_names()
    

Ce ne sono alcuni interessanti da guardare, ma utilizzeremo un set di dati di consigli per i ristoranti.

Caricheremo i dati in un dataframe Pandas:

        
tips = sns.load_dataset("tips")
    

I frame di dati sono organizzati in colonne simili a un foglio di calcolo. Avremo una panoramica dei dati con il metodo head:

        tips.head()
    

Tracciare gli istogrammi con Seaborn

Un utile grafo di base è l'istogramma, che mostra come sono distribuiti i valori di un set di dati. Diamo un'occhiata all'istogramma dell'importo totale di questi assegni del ristorante, la colonna "total_bill", con il metodo displot:

        
sns.displot(x="total_bill",data=tips)
    

Si può vedere che sembra quasi una curva di distribuzione normale a forma di campana, anche se la coda è inclinata a destra, con il picco più a sinistra. Il campo "data=" è una funzione utile quando si lavora con i dataframe senza dover digitare "tips["column"]" ogni volta. Il nome del frame di dati è l'origine dei dati.

Creazione di grafici scatter

Una cosa utile da visualizzare in un set di dati è vedere se le colonne hanno una relazione tra loro. Un buon modo per eseguire questa operazione consiste in un grafico a dispersione che traccia i valori di una colonna rispetto all'altra. Tracciamo il conto totale rispetto al suggerimento:

        sns.relplot(x="total_bill",y="tip",data=tips)
    

L'asse x è ancora una volta la fattura totale e l'asse y è l'importo della mancia.

Rappresentazione grafica delle regressioni lineari

Se hai osservato attentamente il grafico a dispersione, potresti aver notato che potresti aver tracciato una linea retta attraverso i valori. Ciò significa che sembra esserci una relazione lineare positiva poiché l'importo della mancia aumenta all'aumentare dell'importo del conto totale.

Possiamo tracciare una linea di regressione attraverso questo grafico a dispersione utilizzando il metodo regplot:

        
sns.regplot(x="total_bill",y="tip",data=tips)
    

Vedrete un grafico simile al grafico a dispersione che abbiamo fatto in precedenza, ma con una linea, il nostro modello della relazione lineare, disegnata su di esso. Questa è chiamata "regressione ordinaria dei minimi quadrati".

C'è anche un'area ombreggiata sopra e sotto la linea. Questo rappresenta un intervallo di confidenza, perché una regressione lineare contiene sempre una certa incertezza su come si adatterebbe ai punti dati.

È possibile adattare più di semplici linee rette, ma è possibile modellare le curve in questo modo, ma questo va oltre lo scopo di questo articolo. Questo tutorial è solo un assaggio di come è possibile visualizzare ed esplorare i dati con Python e Seaborn.