Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Ottimizzazione degli Iperparametri con RandomizedSearchCV | Modellazione
Quizzes & Challenges
Quizzes
Challenges
/
Introduzione al Machine Learning con Python

bookSfida: Ottimizzazione degli Iperparametri con RandomizedSearchCV

Il principio di RandomizedSearchCV è simile a quello di GridSearchCV, ma invece di testare tutte le possibili combinazioni, valuta solo un sottoinsieme campionato casualmente.

Ad esempio, il seguente param_grid contiene 100 combinazioni:

param_grid = {
    'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

GridSearchCV testerebbe tutte le 100, il che è dispendioso in termini di tempo. RandomizedSearchCV può invece valutare un sottoinsieme più piccolo, ad esempio 20 combinazioni scelte casualmente. Questo riduce il tempo di calcolo e di solito produce risultati vicini ai migliori.

Il numero di combinazioni da testare è controllato dall'argomento n_iter (il valore predefinito è 10). Per il resto, l'utilizzo è lo stesso di GridSearchCV.

Compito

Swipe to start coding

Ti viene fornito un dataset di pinguini già preprocessato e pronto per l'addestramento del modello. L'obiettivo è ottimizzare gli iperparametri di un modello KNeighborsClassifier utilizzando sia la ricerca a griglia che la ricerca randomizzata.

  1. Definire la griglia dei parametri denominata param_grid con i valori desiderati per n_neighbors, weights e p.
  2. Inizializzare un oggetto RandomizedSearchCV utilizzando la griglia dei parametri definita e impostare n_iter=20.
  3. Inizializzare un oggetto GridSearchCV utilizzando la stessa griglia dei parametri.
  4. Addestrare entrambi gli oggetti di ricerca sul dataset utilizzando il metodo .fit(X, y).
  5. Stampare il miglior stimatore dalla ricerca a griglia utilizzando .best_estimator_.
  6. Stampare il miglior punteggio di validazione incrociata dalla ricerca randomizzata utilizzando .best_score_.

Soluzione

Note
Nota

È possibile eseguire il codice più volte. Osservare la differenza tra i due punteggi. A volte i punteggi possono essere uguali a causa della presenza dei parametri ottimali tra le combinazioni campionate da RandomizedSearchCV.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 8
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

Suggested prompts:

Can you explain when to use RandomizedSearchCV instead of GridSearchCV?

How do I choose the right value for n_iter in RandomizedSearchCV?

What are the main advantages and disadvantages of RandomizedSearchCV?

close

Awesome!

Completion rate improved to 3.13

bookSfida: Ottimizzazione degli Iperparametri con RandomizedSearchCV

Scorri per mostrare il menu

Il principio di RandomizedSearchCV è simile a quello di GridSearchCV, ma invece di testare tutte le possibili combinazioni, valuta solo un sottoinsieme campionato casualmente.

Ad esempio, il seguente param_grid contiene 100 combinazioni:

param_grid = {
    'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

GridSearchCV testerebbe tutte le 100, il che è dispendioso in termini di tempo. RandomizedSearchCV può invece valutare un sottoinsieme più piccolo, ad esempio 20 combinazioni scelte casualmente. Questo riduce il tempo di calcolo e di solito produce risultati vicini ai migliori.

Il numero di combinazioni da testare è controllato dall'argomento n_iter (il valore predefinito è 10). Per il resto, l'utilizzo è lo stesso di GridSearchCV.

Compito

Swipe to start coding

Ti viene fornito un dataset di pinguini già preprocessato e pronto per l'addestramento del modello. L'obiettivo è ottimizzare gli iperparametri di un modello KNeighborsClassifier utilizzando sia la ricerca a griglia che la ricerca randomizzata.

  1. Definire la griglia dei parametri denominata param_grid con i valori desiderati per n_neighbors, weights e p.
  2. Inizializzare un oggetto RandomizedSearchCV utilizzando la griglia dei parametri definita e impostare n_iter=20.
  3. Inizializzare un oggetto GridSearchCV utilizzando la stessa griglia dei parametri.
  4. Addestrare entrambi gli oggetti di ricerca sul dataset utilizzando il metodo .fit(X, y).
  5. Stampare il miglior stimatore dalla ricerca a griglia utilizzando .best_estimator_.
  6. Stampare il miglior punteggio di validazione incrociata dalla ricerca randomizzata utilizzando .best_score_.

Soluzione

Note
Nota

È possibile eseguire il codice più volte. Osservare la differenza tra i due punteggi. A volte i punteggi possono essere uguali a causa della presenza dei parametri ottimali tra le combinazioni campionate da RandomizedSearchCV.

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 8
single

single

some-alt