Edit Template
Edit Template

Introduzione

Se ti sei mai chiesto come le aziende prevedono i prezzi delle case, i ricavi futuri o il valore delle azioni, probabilmente hanno usato la regressione, una tecnica di machine learning che aiuta a prevedere un valore continuo (come il prezzo o la temperatura) basato su altri dati. In questa guida, ti mostrerò passo-passo come costruire un modello di regressione utilizzando il linguaggio di programmazione Python. Anche se sei un principiante nel machine learning, questa guida ti guiderà attraverso ogni passaggio in modo semplice e pratico.

1. Cosa Ti Serve per Iniziare

Prima di iniziare, assicurati di avere Python installato sul tuo computer. Python è un linguaggio di programmazione molto popolare, ed è perfetto per fare analisi di dati e costruire modelli di machine learning. Oltre a Python, avrai bisogno di alcune librerie speciali che ci aiuteranno a lavorare con i dati e costruire il nostro modello. Queste librerie sono:

  • pandas: per gestire i dati in formato tabellare, come in un foglio di calcolo.
  • scikit-learn: una libreria che ci fornirà gli strumenti per creare il modello di machine learning.
  • matplotlib: per creare grafici e visualizzare i risultati.

Se non le hai già installate, puoi farlo facilmente. Apri il tuo terminale (o il prompt dei comandi) e inserisci questo comando:

pip install pandas scikit-learn matplotlib

Una volta installate, saremo pronti per iniziare a lavorare con Python.

2. Caricare e Esplorare i Dati

Ora che abbiamo preparato il nostro ambiente, dobbiamo trovare dei dati su cui lavorare. Utilizzeremo un dataset chiamato Boston Housing, che contiene informazioni su varie case a Boston e sui loro prezzi. Questo dataset è perfetto per imparare la regressione, perché vogliamo prevedere il prezzo delle case in base alle loro caratteristiche (come il numero di stanze, l'età della casa, ecc.).

Per prima cosa, carichiamo il dataset e diamo un'occhiata ai primi dati per capire meglio cosa contiene. Usa il seguente codice per caricare i dati:

import pandas as pd
from sklearn.datasets import load_boston

# Carica il dataset Boston Housing
boston = load_boston()

# Convertiamo il dataset in un DataFrame di pandas
df = pd.DataFrame(boston.data, columns=boston.feature_names)

# Aggiungiamo la colonna 'PRICE' che contiene i prezzi delle case
df['PRICE'] = boston.target

# Mostra le prime 5 righe del dataset
print(df.head())

In questo codice, stiamo caricando il dataset Boston Housing e lo stiamo convertendo in un DataFrame, che è una tabella simile a un foglio di calcolo. Abbiamo anche aggiunto la colonna "PRICE", che contiene i prezzi delle case. Il comando print(df.head()) mostrerà le prime cinque righe del dataset per farci un'idea di cosa contiene.

3. Preparare i Dati per il Modello

Prima di costruire il modello, dobbiamo dividere i dati in due parti: dati di addestramento e dati di test. I dati di addestramento vengono usati per insegnare al modello come fare previsioni, mentre i dati di test vengono utilizzati per vedere quanto è accurato il modello su nuovi dati.

Per farlo, useremo una funzione speciale chiamata train_test_split, che dividerà automaticamente i nostri dati:

from sklearn.model_selection import train_test_split

# Definiamo le feature (caratteristiche) e la variabile target (PRICE)
X = df.drop('PRICE', axis=1)
y = df['PRICE']

# Dividiamo i dati in addestramento (80%) e test (20%)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

print(f"Dati di addestramento: {len(X_train)}")
print(f"Dati di test: {len(X_test)}")

Qui stiamo dividendo i dati: l'80% sarà usato per addestrare il nostro modello, mentre il 20% sarà utilizzato per testare quanto bene il modello riesce a prevedere i prezzi delle case sui dati che non ha mai visto.

4. Creare un Modello di Regressione Lineare

Ora che abbiamo i nostri dati pronti, possiamo costruire il modello di regressione lineare. La regressione lineare è un metodo che cerca di tracciare una linea che meglio si adatta ai dati, in modo che possiamo prevedere il valore della variabile target (in questo caso il prezzo delle case) in base alle caratteristiche (come il numero di stanze o l'età della casa).

Ecco come possiamo creare il modello:

from sklearn.linear_model import LinearRegression

# Inizializza il modello di regressione lineare
model = LinearRegression()

# Addestriamo il modello sui dati di addestramento
model.fit(X_train, y_train)

# Facciamo previsioni sui dati di test
y_pred = model.predict(X_test)

# Misuriamo quanto è preciso il modello
print(f"R^2: {model.score(X_test, y_test)}")

In questo codice, stiamo usando il metodo fit() per insegnare al nostro modello come prevedere i prezzi delle case in base ai dati di addestramento. Poi usiamo predict() per fare previsioni sui dati di test e misuriamo quanto bene il modello si adatta ai dati usando una metrica chiamata , che ci dice quanto è buona la nostra previsione.

5. Valutare il Modello

Per capire meglio quanto è buono il nostro modello, possiamo calcolare l'errore quadratico medio (Mean Squared Error, MSE). Più basso è l'errore, meglio il modello riesce a fare previsioni accurate.

from sklearn.metrics import mean_squared_error

# Calcoliamo l'errore quadratico medio
mse = mean_squared_error(y_test, y_pred)
print(f"Errore quadratico medio: {mse:.2f}")

L'MSE ci dice in media di quanto i valori previsti differiscono dai valori reali. Un valore più basso indica che il modello è più preciso.

6. Visualizzare i Risultati

Una buona abitudine è quella di visualizzare i risultati per capire meglio come funziona il nostro modello. Possiamo creare un grafico che confronta i prezzi reali delle case con quelli previsti dal nostro modello.

import matplotlib.pyplot as plt

# Crea un grafico di dispersione dei prezzi reali e previsti
plt.scatter(y_test, y_pred)
plt.xlabel('Prezzi reali')
plt.ylabel('Prezzi previsti')
plt.title('Confronto tra Prezzi Reali e Previsti')
plt.show()

Se il nostro modello fosse perfetto, i punti nel grafico dovrebbero allinearsi perfettamente lungo una linea diagonale. In pratica, però, ci sarà sempre una certa differenza tra i prezzi reali e quelli previsti.

Conclusione

Congratulazioni! Sei riuscito a costruire il tuo primo modello di regressione lineare utilizzando Python. Abbiamo esplorato ogni passaggio, dalla preparazione dei dati alla creazione del modello, fino alla valutazione delle sue performance. Questo è solo l'inizio: il machine learning offre molte altre tecniche avanzate che puoi imparare per risolvere problemi sempre più complessi. Buon divertimento con la tua prossima avventura nel mondo del machine learning!

Copyright © 2025 Riverloop srls | Tutti i diritti riservati.

  • P. IVA: 07225950828