IniziaInizia gratis

Ricerca randomizzata

# Call GridSearchCV
grid_search = GridSearchCV(clf, param_grid)

# Fit the model
grid_search.fit(X, y)

Nel blocco di codice sopra, tratto dall'esercizio precedente, potresti aver notato che la prima riga è stata eseguita velocemente, mentre la chiamata a .fit() ha impiegato alcuni secondi.

Questo perché .fit() è ciò che esegue effettivamente la grid search e, nel nostro caso, la griglia conteneva molte combinazioni diverse. Man mano che la griglia degli iperparametri cresce, la grid search diventa più lenta. Per ovviare al problema, invece di provare ogni singola combinazione di valori, possiamo saltare casualmente nella griglia e testare combinazioni diverse. C’è una piccola possibilità di perdere la combinazione migliore, ma risparmieremmo molto tempo o potremmo ottimizzare più iperparametri nello stesso intervallo di tempo.

In scikit-learn, puoi farlo con RandomizedSearchCV. Ha la stessa API di GridSearchCV, tranne per il fatto che devi specificare una distribuzione dei parametri da cui campionare, invece di valori specifici. Proviamolo subito! La distribuzione dei parametri è già stata predisposta per te, insieme a un classificatore random forest chiamato clf.

Questo esercizio fa parte del corso

Marketing Analytics: Prevedere il churn dei clienti in Python

Visualizza il corso

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Import RandomizedSearchCV
Modifica ed esegui il codice