Overfitting
Scorri per mostrare il menu
Overfitting
Considera le due linee di regressione qui sotto. Quale delle due è migliore?
Le metriche suggeriscono che il secondo modello sia migliore, quindi lo utilizziamo per prevedere X_new = [0.2, 0.5, 2.7]. Tuttavia, dopo aver confrontato le previsioni con i valori reali, il primo modello offre prestazioni migliori.
Questo accade perché il secondo modello overfitta — è troppo complesso e si adatta troppo ai dati di addestramento, non riuscendo a generalizzare su nuovi casi.
Underfitting
Underfitting si verifica quando un modello è troppo semplice per adattarsi anche ai dati di addestramento, portando anch'esso a previsioni poco accurate su dati non visti.
Possibilità di valutare visivamente se il modello è soggetto a underfitting o overfitting.
Poiché non possiamo visualizzare modelli ad alta dimensionalità, è necessario un altro metodo per rilevare overfitting o underfitting.
Suddivisione Train-Test
Per stimare le prestazioni su dati non visti, il dataset viene suddiviso in un set di addestramento e un set di test con target noti.
Addestramento sul training set e calcolo delle metriche sia sul training set che sul test set per confrontare le prestazioni.
La suddivisione deve essere casuale. Tipicamente, il 20–30% viene assegnato al set di test, mentre il 70–80% viene utilizzato per l'addestramento. Scikit-learn offre un modo semplice per farlo.
Ad esempio, per suddividere il set di addestramento in 70% training/30% test, è possibile utilizzare il seguente codice:
from sklearn.model_selection import train_test_split # import the function
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione