Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Overfitting e Regolarizzazione | Regressione Logistica
Classificazione con Python

bookOverfitting 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:

carousel-imgcarousel-imgcarousel-img
  • valore C maggiore - regolarizzazione minore, maggiore overfitting;
  • valore C minore - 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.

Note
Nota

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).

Note
Nota

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

question mark

Scegli l'affermazione ERRATA.

Select the correct answer

question mark

Qual è l'ordine corretto per pre-elaborare i dati

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 5

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 4.17

bookOverfitting 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:

carousel-imgcarousel-imgcarousel-img
  • valore C maggiore - regolarizzazione minore, maggiore overfitting;
  • valore C minore - 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.

Note
Nota

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).

Note
Nota

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

question mark

Scegli l'affermazione ERRATA.

Select the correct answer

question mark

Qual è l'ordine corretto per pre-elaborare i dati

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 5
some-alt