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 sottostante:
E si tratta solo di un grado due. Un grado superiore può generare forme ancora più complesse. Tuttavia, ciò 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 osservati è uno degli obiettivi principali di un modello di machine learning.
La regolarizzazione affronta il problema dell'overfitting. Infatti, la regolarizzazione l2 è utilizzata di default nella classe LogisticRegression. Tuttavia, è necessario configurare l'intensità della regolarizzazione del modello. Questo aspetto è controllato dal parametro C:



- valore
Cmaggiore - regolarizzazione minore, maggiore overfitting; - valore
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 il 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 la generazione delle 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
Awesome!
Completion rate improved to 4.17
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 sottostante:
E si tratta solo di un grado due. Un grado superiore può generare forme ancora più complesse. Tuttavia, ciò 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 osservati è uno degli obiettivi principali di un modello di machine learning.
La regolarizzazione affronta il problema dell'overfitting. Infatti, la regolarizzazione l2 è utilizzata di default nella classe LogisticRegression. Tuttavia, è necessario configurare l'intensità della regolarizzazione del modello. Questo aspetto è controllato dal parametro C:



- valore
Cmaggiore - regolarizzazione minore, maggiore overfitting; - valore
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 il 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 la generazione delle 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!