Overfitting e Regolarizzazione
Come dimostrato nel capitolo precedente, utilizzando PolynomialFeatures è possibile creare un confine decisionale complesso. Le caratteristiche polinomiali di secondo grado possono persino produrre i confini mostrati nell'immagine qui sotto:
E si tratta solo di un grado due. Un grado superiore può generare forme ancora più complesse. Tuttavia, questo comporta un problema. Il confine decisionale costruito dalla Regressione Logistica può diventare troppo complicato, portando il modello a overfittare.
L'overfitting si verifica quando il modello, invece di apprendere schemi generali nei dati, costruisce un confine decisionale molto complesso per gestire ogni istanza di addestramento. Tuttavia, non si comporta altrettanto bene su dati mai visti prima, mentre la capacità di generalizzare su dati non visti è uno degli obiettivi principali di un modello di machine learning.
La regolarizzazione affronta il problema dell'overfitting. Infatti, la regolarizzazione l2 viene utilizzata di default nella classe LogisticRegression. Tuttavia, è necessario configurare quanto fortemente il modello debba essere regolarizzato. Questo viene controllato tramite il parametro C:



- valore di
Cmaggiore - regolarizzazione minore, maggiore overfitting; - valore di
Cminore - regolarizzazione più forte, minore overfitting (ma possibile underfitting).
I valori di C che portano a un buon modello dipendono dal dataset, quindi è preferibile sceglierli utilizzando GridSearchCV.
Quando si utilizza la Regressione Logistica con regolarizzazione, è fondamentale scalare i dati. La regolarizzazione penalizza i coefficienti elevati e, senza la scalatura, le caratteristiche con valori maggiori possono distorcere i risultati. In realtà, la scalatura è quasi sempre necessaria - anche quando la regolarizzazione non viene utilizzata.
La classe LogisticRegression include la regolarizzazione per impostazione predefinita, quindi è necessario rimuovere la regolarizzazione (impostando penalty=None) oppure scalare i dati (ad esempio, utilizzando StandardScaler).
Se si utilizzano sia PolynomialFeatures che StandardScaler, assicurarsi di applicare StandardScaler dopo aver generato le feature polinomiali. Scalare i dati prima dell'espansione polinomiale può distorcere le feature risultanti, poiché operazioni come elevare al quadrato o moltiplicare valori già standardizzati possono portare a distribuzioni innaturali.
1. Scegli l'affermazione ERRATA.
2. Qual è l'ordine corretto per pre-elaborare i dati
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
Fantastico!
Completion tasso migliorato a 3.33
Overfitting e Regolarizzazione
Scorri per mostrare il menu
Come dimostrato nel capitolo precedente, utilizzando PolynomialFeatures è possibile creare un confine decisionale complesso. Le caratteristiche polinomiali di secondo grado possono persino produrre i confini mostrati nell'immagine qui sotto:
E si tratta solo di un grado due. Un grado superiore può generare forme ancora più complesse. Tuttavia, questo comporta un problema. Il confine decisionale costruito dalla Regressione Logistica può diventare troppo complicato, portando il modello a overfittare.
L'overfitting si verifica quando il modello, invece di apprendere schemi generali nei dati, costruisce un confine decisionale molto complesso per gestire ogni istanza di addestramento. Tuttavia, non si comporta altrettanto bene su dati mai visti prima, mentre la capacità di generalizzare su dati non visti è uno degli obiettivi principali di un modello di machine learning.
La regolarizzazione affronta il problema dell'overfitting. Infatti, la regolarizzazione l2 viene utilizzata di default nella classe LogisticRegression. Tuttavia, è necessario configurare quanto fortemente il modello debba essere regolarizzato. Questo viene controllato tramite il parametro C:



- valore di
Cmaggiore - regolarizzazione minore, maggiore overfitting; - valore di
Cminore - regolarizzazione più forte, minore overfitting (ma possibile underfitting).
I valori di C che portano a un buon modello dipendono dal dataset, quindi è preferibile sceglierli utilizzando GridSearchCV.
Quando si utilizza la Regressione Logistica con regolarizzazione, è fondamentale scalare i dati. La regolarizzazione penalizza i coefficienti elevati e, senza la scalatura, le caratteristiche con valori maggiori possono distorcere i risultati. In realtà, la scalatura è quasi sempre necessaria - anche quando la regolarizzazione non viene utilizzata.
La classe LogisticRegression include la regolarizzazione per impostazione predefinita, quindi è necessario rimuovere la regolarizzazione (impostando penalty=None) oppure scalare i dati (ad esempio, utilizzando StandardScaler).
Se si utilizzano sia PolynomialFeatures che StandardScaler, assicurarsi di applicare StandardScaler dopo aver generato le feature polinomiali. Scalare i dati prima dell'espansione polinomiale può distorcere le feature risultanti, poiché operazioni come elevare al quadrato o moltiplicare valori già standardizzati possono portare a distribuzioni innaturali.
1. Scegli l'affermazione ERRATA.
2. Qual è l'ordine corretto per pre-elaborare i dati
Grazie per i tuoi commenti!