Objektet RandomizedSearchCV
Precis som biblioteket GridSearchCV från Scikit Learn erbjuder RandomizedSearchCV många användbara funktioner för att effektivt genomföra en slumpmässig sökning. Du ska skapa ett RandomizedSearchCV-objekt med den lilla justering som krävs jämfört med GridSearchCV-objektet.
De önskade inställningarna är:
- En Gradient Boosting Classifier-estimator med standardinställningar
- 5-faldig korsvalidering
- Använd accuracy för att utvärdera modellerna
- Använd 4 kärnor för parallell bearbetning
- Se till att den bästa modellen tränas om och att träningsresultat returneras
- Sampla slumpmässigt 10 modeller
Hyperparametergallret ska innehålla learning_rate (150 värden mellan 0,1 och 2) och min_samples_leaf (alla heltalsvärden från och med 20 till och med 64).
Datamängderna X_train och y_train finns tillgängliga.
Den här övningen är en del av kursen
Hyperparameterjustering i Python
Övningsinstruktioner
- Skapa ett parametergaller enligt beskrivningen ovan.
- Skapa ett
RandomizedSearchCV-objekt enligt beskrivningen ovan. - Anpassa
RandomizedSearchCV-objektet till träningsdata. - Skriv ut de värden som modelleringsprocessen valde för båda hyperparametrarna.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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_['____'])