Guida completa a Python
📘 Capitolo 13 – Data Science & Machine Learning (base)
1. Cos’è la Data Science?
La Data Science è l’arte di:
- Analizzare i dati
- Trovare pattern e tendenze
- Creare modelli predittivi con Machine Learning
- Visualizzare risultati in modo comprensibile
2. Librerie fondamentali
Libreria | A cosa serve |
---|---|
pandas | Tabelle, CSV, manipolazione dati |
numpy | Array e operazioni matematiche |
matplotlib | Grafici |
seaborn | Grafici statistici avanzati |
scikit-learn | Machine Learning (modelli, training, test) |
3. Installazione
pip install pandas numpy matplotlib seaborn scikit-learn
4. Dataset di esempio: CSV con Pandas
📁 Esempio: dati.csv
Nome,Età,Altezza
Luca,25,1.75
Anna,30,1.65
Marco,22,1.80
📄 Codice:
import pandas as pd
# Carichiamo il dataset
df = pd.read_csv("dati.csv")
# Visualizziamo i dati
print(df)
# Statistiche base
print(df.describe())
# Accesso a colonne
print("Età media:", df["Età"].mean())
5. Visualizzazioni con matplotlib
e seaborn
import matplotlib.pyplot as plt
import seaborn as sns
# Istogramma dell'età
sns.histplot(df["Età"], kde=True)
plt.title("Distribuzione Età")
plt.xlabel("Età")
plt.ylabel("Frequenza")
plt.show()
Mini modello ML: Regressione Lineare
Prevediamo l’altezza in base all’età!
from sklearn.linear_model import LinearRegression
X = df[["Età"]] # input
y = df["Altezza"] # output
modello = LinearRegression()
modello.fit(X, y)
# Predizione: altezza prevista per 28 anni
predizione = modello.predict([[28]])
print("Altezza prevista:", predizione[0])
Cosa hai imparato qui?
- Come caricare e analizzare dati con
pandas
- Come creare grafici semplici con
seaborn
- Come usare Scikit-Learn per un modello ML base
🧪 Esercizio pratico
- Creare un file
studenti.csv
- Caricarlo con
pandas
- Calcolare:
- Media dei voti
- Chi ha il voto più alto
- Visualizzare un grafico a barre dei voti con
matplotlib
Step 1 – Crea il file studenti.csv
Puoi farlo manualmente oppure usare Python:
import pandas as pd
dati = {
"Nome": ["Luca", "Anna", "Marco", "Giulia"],
"Voti": [25, 28, 21, 30]
}
df = pd.DataFrame(dati)
df.to_csv("studenti.csv", index=False)
Step 2 – Caricamento e analisi
import pandas as pd
import matplotlib.pyplot as plt
# Carica il file
df = pd.read_csv("studenti.csv")
# Stampa il contenuto
print("📋 Dati caricati:\n", df)
# Calcolo media
media = df["Voti"].mean()
print(f"\n📈 Voto medio: {media:.2f}")
# Studente col voto più alto
migliore = df.loc[df["Voti"].idxmax()]
print(f"🏆 Studente con il voto più alto: {migliore['Nome']} ({migliore['Voti']})")
Step 3 – Grafico a barre
# Grafico a barre
plt.figure(figsize=(6,4))
plt.bar(df["Nome"], df["Voti"], color='skyblue')
plt.title("Voti degli studenti")
plt.xlabel("Studente")
plt.ylabel("Voto")
plt.ylim(0, 35)
plt.axhline(media, color='red', linestyle='--', label=f"Media: {media:.2f}")
plt.legend()
plt.tight_layout()
plt.show()
Cosa hai imparato:
- Come leggere un file CSV
- Come fare semplici statistiche
- Come usare
matplotlib
per grafici eleganti - Come identificare valori massimi (
idxmax()
)