Uitdaging: Afstemmen van Hyperparameters met Randomizedsearchcv
Het principe van RandomizedSearchCV lijkt op dat van GridSearchCV, maar in plaats van elke mogelijke combinatie te testen, evalueert het slechts een willekeurig geselecteerde subset.
Bijvoorbeeld, de volgende param_grid bevat 100 combinaties:
param_grid = {
'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
GridSearchCV zou ze alle 100 testen, wat tijdrovend is. RandomizedSearchCV kan in plaats daarvan een kleinere subset evalueren, bijvoorbeeld 20 willekeurig gekozen combinaties. Dit vermindert de rekentijd en levert meestal resultaten op die dicht bij het optimum liggen.
Het aantal te testen combinaties wordt bepaald door het argument n_iter (standaard is 10). Verder is het gebruik hetzelfde als bij GridSearchCV.
Swipe to start coding
Je krijgt een voorbewerkte pinguïn-dataset die klaar is voor modeltraining.
Je doel is om de hyperparameters van een KNeighborsClassifier-model af te stemmen met behulp van zowel grid search als randomized search methoden.
- Definieer het parameterrooster genaamd
param_gridmet de gewenste waarden voorn_neighbors,weightsenp. - Initialiseer een
RandomizedSearchCV-object met het gedefinieerde parameterrooster en steln_iter=20in. - Initialiseer een
GridSearchCV-object met hetzelfde parameterrooster. - Train beide zoekobjecten op de dataset met de
.fit(X, y)-methode. - Print de beste estimator uit de grid search met
.best_estimator_. - Print de beste cross-validatiescore uit de randomized search met
.best_score_.
Oplossing
Het is mogelijk om de code meerdere keren uit te voeren. Bekijk het verschil tussen de twee scores. Soms kunnen de scores gelijk zijn door de aanwezigheid van de beste parameters onder de combinaties die door RandomizedSearchCV zijn geselecteerd.
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 3.13
Uitdaging: Afstemmen van Hyperparameters met Randomizedsearchcv
Veeg om het menu te tonen
Het principe van RandomizedSearchCV lijkt op dat van GridSearchCV, maar in plaats van elke mogelijke combinatie te testen, evalueert het slechts een willekeurig geselecteerde subset.
Bijvoorbeeld, de volgende param_grid bevat 100 combinaties:
param_grid = {
'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
GridSearchCV zou ze alle 100 testen, wat tijdrovend is. RandomizedSearchCV kan in plaats daarvan een kleinere subset evalueren, bijvoorbeeld 20 willekeurig gekozen combinaties. Dit vermindert de rekentijd en levert meestal resultaten op die dicht bij het optimum liggen.
Het aantal te testen combinaties wordt bepaald door het argument n_iter (standaard is 10). Verder is het gebruik hetzelfde als bij GridSearchCV.
Swipe to start coding
Je krijgt een voorbewerkte pinguïn-dataset die klaar is voor modeltraining.
Je doel is om de hyperparameters van een KNeighborsClassifier-model af te stemmen met behulp van zowel grid search als randomized search methoden.
- Definieer het parameterrooster genaamd
param_gridmet de gewenste waarden voorn_neighbors,weightsenp. - Initialiseer een
RandomizedSearchCV-object met het gedefinieerde parameterrooster en steln_iter=20in. - Initialiseer een
GridSearchCV-object met hetzelfde parameterrooster. - Train beide zoekobjecten op de dataset met de
.fit(X, y)-methode. - Print de beste estimator uit de grid search met
.best_estimator_. - Print de beste cross-validatiescore uit de randomized search met
.best_score_.
Oplossing
Het is mogelijk om de code meerdere keren uit te voeren. Bekijk het verschil tussen de twee scores. Soms kunnen de scores gelijk zijn door de aanwezigheid van de beste parameters onder de combinaties die door RandomizedSearchCV zijn geselecteerd.
Bedankt voor je feedback!
single