Sobes.tech
Middle

Cos'è la validazione incrociata e a cosa serve?

sobes.tech AI

Risposta dell'AI

La validazione incrociata è un metodo per valutare la qualità di un modello di apprendimento automatico, che aiuta a verificare quanto bene il modello funzionerà su dati nuovi e invisibili. L'idea principale è dividere il set di dati originale in più parti (fold), ad esempio 5 o 10. Successivamente, il modello viene addestrato su tutte le parti tranne una, e testato sulla restante. Questo processo viene ripetuto finché ogni parte non viene utilizzata come test.

Questo permette di ottenere una valutazione più affidabile delle prestazioni del modello, ridurre l'overfitting e scegliere i migliori parametri. Ad esempio, nella validazione incrociata a 5 fold, i dati vengono divisi in 5 parti, e il modello viene addestrato 5 volte, ogni volta su 4 parti, testando su 1.

Esempio in Python con sklearn:

from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris

X, y = load_iris(return_X_y=True)
model = RandomForestClassifier()
scores = cross_val_score(model, X, y, cv=5)
print(f"Precisione media: {scores.mean():.2f}")