Middle — Senior
Come utilizzare la validazione incrociata per valutare un modello?
sobes.tech AI
Risposta dell'AI
La validazione incrociata è un metodo di valutazione della qualità di un modello di apprendimento automatico che aiuta a verificare quanto bene il modello funzionerà su nuovi dati. L’idea principale è dividere il set di dati originale in più parti (folds), addestrare il modello su alcune parti e testarlo sulle altre.
La variante più comune è la validazione incrociata k-fold:
- Dividere i dati in k parti uguali.
- Per ciascuna delle k parti:
- Addestrare il modello sulle altre k-1 parti.
- Testare il modello sulla parte corrente (set di validazione).
- La media delle metriche di tutte le k iterazioni fornisce una valutazione più affidabile della qualità del modello.
Questo aiuta a evitare il sovraccarico e a ottenere una valutazione più oggettiva rispetto a una semplice divisione in set di addestramento e test.
Esempio in Python con scikit-learn:
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
iris = load_iris()
X, y = iris.data, iris.target
model = RandomForestClassifier()
scores = cross_val_score(model, X, y, cv=5) # validazione incrociata a 5 fold
print(f"Precisione media: {scores.mean():.2f}")