Analisi esplorativa dei dati mediante tecniche di visualizzazione dei dati.

Contenuti

Questo post è stato pubblicato come parte del Blogathon sulla scienza dei dati

introduzione

per capire meglio i tuoi dati, che aiuta nell'ulteriore pre-elaborazione dei dati. E la visualizzazione dei dati è la chiave, in quanto semplifica la procedura di analisi dei dati esplorativi e analizza facilmente i dati attraverso grafici e grafici meravigliosi.

87001eda20con20visualizzazione20funzione20img-1734958

Sommario

  • Visualizzazione dati
  • Analisi esplorativa dei dati
  • Analisi invariate
    • Dati categoriali
    • Data numerica
  • Analisi bivariata / multivariato
    • Numerico e numerico
    • Numerico e categorico
    • Categoriale e categorico
  • Note finali

Visualizzazione dati

La visualizzazione dei dati rappresenta dati di testo o numerici in un formato visivo, che facilita la comprensione delle informazioni espresse dai dati. NOI, gli umani, ricordiamo le immagini più facilmente del testo leggibile, quindi Python ci fornisce varie librerie per la visualizzazione dei dati come matplotlib, nato dal mare, trama, eccetera. In questo tutorial, useremo Matplotlib e Seaborn per eseguire varie tecniche per esplorare i dati utilizzando vari grafici.

Analisi esplorativa dei dati

Crea ipotesi, testare varie ipotesi di business mentre si affronta qualsiasi dichiarazione di problema di apprendimento automatico è molto importante e questo è ciò che EDA aiuta a raggiungere. Esistono diversi strumenti e tecniche per comprendere i tuoi dati, e l'esigenza fondamentale è che tu debba avere la conoscenza di Numpy per le operazioni matematiche e di Pandas per la manipolazione dei dati.

Useremo un set di dati Titanic molto popolare che tutti conoscono e da cui possono scaricare qui.

Ora iniziamo a esplorare i dati e a studiare diversi grafici di visualizzazione dei dati con diversi tipi di dati.. E per dimostrare alcune delle tecniche, Utilizzeremo anche un set di dati integrato da Seaborn come dati di mancia che spiega le mance che ogni cameriere riceve da diversi clienti..

iniziamo importando librerie e caricando dati

import numpy as np
import pandas pd
import matplotlib.pyplot as plt
import seaborn as sns
from seaborn import load_dataset
#titanic dataset
data = pd.read_csv("titanic_train.csv")
#tips dataset
tips = load_dataset("Suggerimenti")

Analisi invariate

El análisis univariado es la forma más simple de análisis donde exploramos una sola variabile. Viene eseguita un'analisi univariata per descrivere meglio i dati. eseguiamo analisi univariate di variabili numeriche e categoriali in modo diverso perché il grafico utilizza grafici diversi.

Dati categoriali

Una variabile che contiene informazioni basate su testo è nota come variabili categoriali. diamo un'occhiata a diversi grafici che possiamo usare per visualizzare i dati categoriali.

1) ContePlot

Countplot es simplemente un gráfico de recuento de frecuencias en forma de grafico a barre. Traccia il conteggio per ogni categoria su una barra separata. Quando usiamo la funzione di conteggio dei valori dei panda in qualsiasi colonna, è la stessa forma visiva della funzione del valore di conteggio. Nella nostra variabile di destinazione dei dati sopravvive ed è categorica, quindi disegniamo un grafico di conteggio di questo.

sns.countplot(data['Survived'])
plt.show()
90944countplot-9084540

2) Grafico a torta

Il grafico a torta è anche lo stesso del grafico di conteggio, ti dà solo informazioni aggiuntive sulla percentuale di presenza di ogni categoria nei dati, il che significa quale categoria ottiene la quantità di peso nei dati. Diamo un'occhiata alla rubrica Sesso, qual è la percentuale di membri maschi e femmine che viaggiano?.

data['Sex'].value_counts().plot(kind="pie", autopct="%.2f")
plt.show()
82708grafico_torta-5279286

Data numerica

L'analisi dei dati numerici è essenziale perché comprendere la distribuzione delle variabili aiuta a elaborare ulteriormente i dati. La maggior parte delle volte troverai molte incongruenze con i dati numerici, quindi esplora le variabili numeriche.

1) Istogramma

Un istogramma è un grafico di distribuzione dei valori delle colonne numeriche. Crea semplicemente bin in vari intervalli di valori e li traccia in cui possiamo visualizzare come sono distribuiti i valori. Possiamo vedere dove si trovano più valori, come positivo, negativo o al centro (media). Diamo un'occhiata alla colonna Età.

plt.hist(data['Age'], bins=5)
plt.show()
92476istogramma-1909364

2) Distplot

Distplot è anche noto come secondo istogramma perché è una versione leggermente migliorata dell'istogramma.. Distplot ci dà un KDE (Stima della densità del kernel) sull'istogramma che spiega pdf (Densità di probabilità), che significa qual è la probabilità che ogni valore si verifichi in questa colonna. Se hai studiato statistica prima, dovresti assolutamente conoscere la funzione PDF.

sns.distplot(dati['Età']) 
plt.mostra()
61808distplot-7525709

3) Trama scatola

Boxplot è una trama molto interessante che traccia semplicemente un riassunto di 5 numeri. Per un riepilogo di 5 numeri, dobbiamo descrivere alcuni termini.

  • Mediano: valore medio della serie dopo l'ordinamento
  • Percentile: fornisce qualsiasi numero che sia il numero di valori presenti prima di questo percentile come, come esempio, 50 al di sotto del percentile 25, quindi spiega il totale di 50 valori inferiori al percentile 25
  • Minimo e Massimo: Questi non sono valori minimi e massimi, piuttosto, descrivono il limite inferiore e superiore della deviazione standard calcolata utilizzando l'intervallo interquartile (IQR).
IQR = Q3 - Q1
Lower_boundary = Q1 - 1.5 * IQR
Upper_bounday = Q3 +  1.5 * IQR

Qui Q1 e Q3 sono il primo quantile (percentile 25) e il terzo quantile (percentile 75)

Analisi bivariata / multivariato

Abbiamo studiato diverse trame per esplorare dati categorici e numerici unici. L'analisi bivariata viene utilizzata quando dobbiamo esplorare il legame tra 2 diverse variabili e dobbiamo farlo perché, alla fine, il nostro compito principale è esplorare il collegamento tra le variabili per costruire un modello potente. E quando analizziamo più di 2 variabili insieme, nota come analisi multivariata. lavoreremo su diversi grafici per l'analisi bivariata e multivariata.

Numerico e numerico

Primo, esploriamo i grafici quando entrambe le variabili sono numeriche.

1) Grafico a dispersione

Tracciare il collegamento tra due grafici a dispersione di variabili numeriche è un grafico semplice da fare. Veamos la vinculación entre la cuenta total y la propina proporcionada a través de un Diagramma di dispersione.

sns.scatterplot(tips["total_bill"], tips["tip"])
55638num_num20scatter-7996878

Analisi multivariata con grafico a dispersione

possiamo anche rappresentare graficamente le relazioni di 3 variabili o 4 variabili con un grafico a dispersione. Supponiamo di voler trovare il rapporto separato tra uomini e donne con il conto totale e la mancia forniti.

sns.scatterplot(tips["total_bill"], tips["tip"], hue=tips["sex"])
plt.show()
266103_var20scatter-9593368

Possiamo anche vedere l'analisi multivariata di 4 variabili con grafici a dispersione che utilizzano argomenti di stile. Supponiamo ora, insieme al genere, Voglio anche sapere se il cliente era un fumatore o no in modo che possiamo farlo.

sns.scatterplot(tips["total_bill"], tips["tip"], hue=tips["sex"], style=tips['smoker'])
plt.show()
45007scatter_plot_4_var-4638789

Numerico e categorico

Se una variabile è numerica e l'altra è categoriale, ci sono diversi grafici che possiamo usare per l'analisi bivariata e multivariata.

1) Grafico a barre

Il grafico a barre è un semplice diagramma che possiamo usare per tracciare una variabile categoriale sull'asse x e una variabile numerica sull'asse y ed esplorare la relazione tra entrambe le variabili.. La punta nera nella parte superiore di ogni barra mostra l'intervallo di confidenza. Esploriamo la Classe P con l'età.

sns.barplot(data['Pclass'], data['Age'])
plt.show()
29348bivar_barplot-7789600

Analisi multivariata tramite grafico a barre

L'argomento di Hue è molto utile e aiuta ad analizzare più di 2 variabili. Ora, insieme al link sopra, vogliamo fare con il genere.

sns.barplot(data['Pclass'], data['Fare'], hue = data["Sex"])
plt.show()
20542multivar_barplot-3233455

2) Trama scatola

Ya hemos estudiado sobre box plot en el análisis univariante anterior. possiamo disegnare un box plot separato per entrambe le variabili. Esploriamo il genere con l'età usando un box plot.

sns.boxplot(data['Sex'], data["Age"])
48591boxplot_bivar-7705788

Analisi multivariata con box plot

Insieme all'età e al sesso, vediamo chi è sopravvissuto e chi no.

sns.boxplot(data['Sex'], data["Age"], data["Survived"])
plt.show()
42456multivar_boxplot-2607238

3) Distplot

Distplot spiega la funzione PDF attraverso la stima della densità del kernel. Distplot non ha un parametro pitch, ma possiamo crearlo. Supponiamo di voler vedere la probabilità delle persone con una fascia di età con probabilità di sopravvivenza e scoprire la cui probabilità di sopravvivenza è alta per la fascia di età con tasso di mortalità.

sns.distplot(data[data['Survived'] == 0]['Age'], hist=False, color="blue") 
sns.distplot(data[data['Survived'] == 1]['Age'], hist=False, color="orange")
plt.show()
97225multivaar_distplot-6852561

Come possiamo vedere, la grafica è davvero molto interessante. il blu mostra la probabilità di morire e il grafico arancione mostra la probabilità di sopravvivenza. Se lo osserviamo, possiamo vedere che la probabilità di sopravvivenza dei bambini è maggiore della morte e che è il contrario nel caso degli anziani. Questa piccola analisi a volte dice alcune cose importanti sui dati e aiuta nella preparazione delle storie di dati.

Categoriale e categorico

Ora lavoreremo su colonne categoriali e categoriali.

1) Mappa di calore

Se hai mai usato una funzione di tabella a campi incrociati panda, Heatmap è una rappresentazione visiva equivalente di questo solo. Semplicemente, mostra quanta presenza di una categoria in collegamento con un'altra categoria è presente nel set di dati. fammi mostrare prima con la tabella incrociata e poi con la mappa di calore.

pd.crosstab(data['Pclass'], data['Survived'])
91814tabella incrociata-2168745

Ora, con la mappa termica, dobbiamo scoprire quante persone sono sopravvissute e sono morte.

sns.heatmap(pd.crosstab(data['Pclass'], data['Survived']))
25852mappa termica-8896723

2) Mappa dei cluster

possiamo anche utilizzare una mappa dei cluster per comprendere il collegamento tra due variabili categoriali. Una mappa dei cluster disegna semplicemente un dendrogramma che mostra le categorie di comportamento equivalente insieme..

sns.clustermap(pd.crosstab(data['Parch'], data['Survived']))
plt.show()
80148clustermap-6359716

Se conosci algoritmi di clustering principalmente su DBSCAN, allora dovresti conoscere il dendrogramma. Quindi, questi sono tutti grafici che vengono utilizzati principalmente quando si eseguono analisi esplorative. Ci sono altre trame che puoi disegnare come una trama violenta, modello di linea, una trama comune che non viene utilizzata principalmente.

Il taccuino completo per una maggiore pratica nell'EDA e nella visualizzazione dei dati è abilitato nei miei taccuini da kaggle, accedi da qui.

Note finali

L'EDA è solo una delle chiavi per comprendere e rappresentare i tuoi dati in un modo migliore, che cosa, dovuto, ti aiuta a costruire un modello potente e più generalizzato. La visualizzazione dei dati è facile da eseguire EDA, rendere più facile per gli altri capire la nostra analisi.

Spero sia stato facile recuperare tutte le trame che abbiamo disegnato. Se hai dei dubbi, menzionalo nella sezione commenti qui sotto. Sarò felice di aiutarti.

Circa l'autore

Raghav Agrawal

Sto conseguendo la mia laurea in informatica. Mi piacciono molto la scienza dei dati e i big data. Amo lavorare con i dati e apprendere nuove tecnologie. Per favore, sentiti libero di connetterti con me su Linkedin.

Il supporto mostrato in questo post non è di proprietà di DataPeaker e viene utilizzato a discrezione dell'autore.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.