Obiectul RandomizedSearchCV
La fel ca biblioteca GridSearchCV din Scikit Learn, RandomizedSearchCV oferă multe funcționalități utile pentru a realiza eficient o căutare aleatorie. Vei crea un obiect RandomizedSearchCV, făcând ajustarea necesară față de obiectul GridSearchCV.
Opțiunile dorite sunt:
- Un estimator Gradient Boosting Classifier implicit
- Validare încrucișată cu 5 pliuri
- Folosirea acurateței pentru evaluarea modelelor
- Utilizarea a 4 nuclee pentru procesare paralelă
- Asigurarea reantrenării celui mai bun model și returnarea scorurilor de antrenament
- Eșantionarea aleatorie a 10 modele
Gridul de hiperparametri trebuie definit pentru learning_rate (150 de valori între 0,1 și 2) și min_samples_leaf (toate valorile între 20 și 64, inclusiv).
Vei avea la dispoziție seturile de date X_train și y_train.
Acest exercițiu face parte din cursul
Ajustarea hiperparametrilor în Python
Instrucțiuni pentru exercițiu
- Creează un grid de parametri conform specificațiilor de mai sus.
- Creează un obiect
RandomizedSearchCVconform descrierii de mai sus. - Antrenează obiectul
RandomizedSearchCVpe datele de antrenament. - Afișează valorile alese de procesul de modelare pentru ambii hiperparametri.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Create the parameter grid
param_grid = {'learning_rate': np.linspace(____,____,150), 'min_samples_leaf': list(range(____,65))}
# Create a random search object
random_GBM_class = ____(
estimator = ____,
____ = param_grid,
____ = 10,
scoring='____', n_jobs=____, cv = ____, refit=____, return_train_score = ____)
# Fit to the training data
random_GBM_class.fit(____, ____)
# Print the values used for both hyperparameters
print(random_GBM_class.____['param_learning_rate'])
print(random_GBM_class.cv_results_['____'])