Sfida: 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 combinazioni, 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
.
Swipe to start coding
- Inizializzazione di un oggetto
RandomizedSearchCV
con la griglia dei parametri e impostazione din_iter=20
. - Inizializzazione di un oggetto
GridSearchCV
con la stessa griglia dei parametri. - Addestramento di entrambi gli oggetti di ricerca utilizzando
.fit(X, y)
. - Stampa del miglior stimatore dalla grid search tramite
.best_estimator_
. - Stampa del miglior punteggio dalla randomized search tramite
.best_score_
.
Soluzione
Puoi provare a eseguire il codice più volte. Osserva la differenza tra i due punteggi. A volte i punteggi possono essere uguali a causa della presenza dei parametri migliori tra le combinazioni campionate da RandomizedSearchCV
.
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
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?
Awesome!
Completion rate improved to 3.13
Sfida: 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 combinazioni, 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
.
Swipe to start coding
- Inizializzazione di un oggetto
RandomizedSearchCV
con la griglia dei parametri e impostazione din_iter=20
. - Inizializzazione di un oggetto
GridSearchCV
con la stessa griglia dei parametri. - Addestramento di entrambi gli oggetti di ricerca utilizzando
.fit(X, y)
. - Stampa del miglior stimatore dalla grid search tramite
.best_estimator_
. - Stampa del miglior punteggio dalla randomized search tramite
.best_score_
.
Soluzione
Puoi provare a eseguire il codice più volte. Osserva la differenza tra i due punteggi. A volte i punteggi possono essere uguali a causa della presenza dei parametri migliori tra le combinazioni campionate da RandomizedSearchCV
.
Grazie per i tuoi commenti!
Awesome!
Completion rate improved to 3.13single