Learn AI with Python · Lezione

Analisi bivariata e multivariata

Scatter plot, pair plot, heatmap delle correlazioni e statistiche raggruppate.

Lezione 3 di 413 passaggi

Analisi bivariata e multivariata è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.

Da una variabile a molte

L'analisi bivariata studia la relazione tra due variabili; l'analisi multivariata ne esamina diverse contemporaneamente.

L'obiettivo è individuare quali feature variano insieme, rilevare le interazioni e decidere quali variabili predicono il target.

Grafici a dispersione con plt.scatter

Un grafico a dispersione mette a confronto due variabili numeriche: ogni punto rappresenta una riga. Rivela tendenze, gruppi e outlier.

import matplotlib.pyplot as plt
import seaborn as sns

plt.scatter(df["height"], df["weight"], alpha=0.4)
plt.xlabel("Height")
plt.ylabel("Weight")
plt.show()

Lettura di un grafico a dispersione

Osservi la direzione (verso l'alto = relazione positiva, verso il basso = negativa), la forza (fascia compatta rispetto a nuvola dispersa) e la forma (lineare rispetto a curva).

Aggiunga un hue con sns.scatterplot per colorare i punti in base a una categoria e rivelare la struttura dei gruppi.

sns.scatterplot(x="height", y="weight", hue="gender", data=df, alpha=0.5)
plt.show()

Correlazione con df.corr()

df.corr() calcola la correlazione di Pearson a coppie tra le colonne numeriche: un numero compreso tra -1 e +1.

  • +1 → relazione lineare positiva perfetta
  • 0 → nessuna relazione lineare
  • -1 → relazione negativa perfetta
corr = df.corr(numeric_only=True)
print(corr["price"].sort_values(ascending=False))

Heatmap delle correlazioni

Una matrice di correlazione è più facile da leggere sotto forma di heatmap. Passi annot=True per stampare i valori all'interno di ogni cella.

Utilizzi una mappa di colori divergente (ad esempio coolwarm) in modo che le correlazioni positive e negative abbiano colori distinti.

corr = df.corr(numeric_only=True)
sns.heatmap(corr, annot=True, fmt=".2f", cmap="coolwarm", center=0)
plt.show()

Individuazione della multicollinearità

Quando due feature presentano una correlazione molto elevata (ad esempio > 0.9), contengono informazioni ridondanti. Si parla di multicollinearità, che può destabilizzare i modelli lineari.

La heatmap rende immediatamente evidenti le coppie ridondanti, così è possibile eliminarne una.

corr = df.corr(numeric_only=True).abs()
high = corr[(corr > 0.9) & (corr < 1.0)]
print(high.dropna(how="all"))

La correlazione non implica causalità

Una correlazione forte non significa che una variabile causi l'altra. Entrambe potrebbero essere determinate da una terza variabile nascosta, oppure il legame potrebbe essere casuale.

Utilizzi la correlazione per formulare ipotesi, quindi le convalidi con la conoscenza del dominio e un'analisi controllata.

Pair plot con sns.pairplot

sns.pairplot traccia una griglia di grafici a dispersione per ogni coppia di colonne numeriche, con istogrammi o KDE sulla diagonale.

È il modo più rapido per esaminare a colpo d'occhio tutte le relazioni bivariate contemporaneamente. Limiti il numero di colonne nei dataset di grandi dimensioni: il costo cresce con il quadrato del numero di colonne.

sns.pairplot(df[["height", "weight", "age", "income"]], hue="gender")
plt.show()

Box plot raggruppati

Per mettere in relazione una variabile numerica con una categorica, posizioni la categoria sull'asse x di un box plot. In questo modo può confrontare immediatamente le distribuzioni tra i gruppi.

sns.boxplot(x="city", y="income", data=df)
plt.xticks(rotation=45)
plt.show()

Aggregazioni raggruppate

I numeri completano i grafici. groupby insieme a agg riassume una colonna numerica suddividendola per categorie.

Questa è l'analisi multivariata in forma tabellare: consente di confrontare medie, mediane e conteggi affiancati.

summary = df.groupby("city")["income"].agg(["mean", "median", "count"])
print(summary.sort_values("mean", ascending=False))

Grafici multivariati con codifiche visive

È possibile inserire tre o più variabili in un unico grafico usando le codifiche visive: x, y, colore (hue) e dimensione.

In questo modo si osserva come cambiano le relazioni lungo una terza dimensione senza creare grafici separati.

sns.scatterplot(x="height", y="weight", hue="age", size="income", data=df)
plt.show()

Verifica rapida: intervallo della correlazione

Si esegue df.corr() e si osserva un valore pari a -0.85 tra due feature.

Riepilogo: analisi bivariata e multivariata

Ora è in grado di esplorare le relazioni tra le variabili:

  • plt.scatter / sns.scatterplot per due variabili numeriche
  • df.corr() + sns.heatmap(annot=True) per la matrice di correlazione
  • Correlazioni elevate segnalano multicollinearità (elimini le feature ridondanti)
  • sns.pairplot per una panoramica di tutte le coppie
  • Box plot raggruppati e groupby().agg() per mettere in relazione variabili numeriche e categoriche

Ora collegheremo direttamente le feature al target della previsione.

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
53
Lezioni
225

Domande Frequenti

La lezione «Analisi bivariata e multivariata» è gratuita?

Sì — il testo completo di «Analisi bivariata e multivariata» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.

Cosa imparerò in «Analisi bivariata e multivariata»?

Scatter plot, pair plot, heatmap delle correlazioni e statistiche raggruppate. Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Learn AI with Python?

Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Analisi bivariata e multivariata»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?

Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Workflow EDA e profilazione dei dati
  2. Analisi univariata
  3. Analisi bivariata e multivariata
  4. Distribuzione delle feature e analisi del target
← Torna a Learn AI with Python