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, risultando 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 solitamente 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
- Inizializzare un oggetto
RandomizedSearchCVcon la griglia dei parametri e impostaren_iter=20. - Inizializzare un oggetto
GridSearchCVcon la stessa griglia dei parametri. - Addestrare entrambi gli oggetti di ricerca utilizzando
.fit(X, y). - Stampare il miglior stimatore dalla grid search con
.best_estimator_. - Stampare il miglior punteggio dalla randomized search con
.best_score_.
Soluzione
È possibile eseguire il codice più volte. Osservare la differenza tra i due punteggi. Talvolta i punteggi possono essere uguali a causa della presenza dei parametri ottimali 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
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, risultando 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 solitamente 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
- Inizializzare un oggetto
RandomizedSearchCVcon la griglia dei parametri e impostaren_iter=20. - Inizializzare un oggetto
GridSearchCVcon la stessa griglia dei parametri. - Addestrare entrambi gli oggetti di ricerca utilizzando
.fit(X, y). - Stampare il miglior stimatore dalla grid search con
.best_estimator_. - Stampare il miglior punteggio dalla randomized search con
.best_score_.
Soluzione
È possibile eseguire il codice più volte. Osservare la differenza tra i due punteggi. Talvolta i punteggi possono essere uguali a causa della presenza dei parametri ottimali tra le combinazioni campionate da RandomizedSearchCV.
Grazie per i tuoi commenti!
single