Desafio: Ajuste de Hiperparâmetros com RandomizedSearchCV
O princípio do RandomizedSearchCV é semelhante ao do GridSearchCV, mas, em vez de testar todas as combinações possíveis, ele avalia apenas um subconjunto amostrado aleatoriamente.
Por exemplo, o seguinte param_grid contém 100 combinações:
param_grid = {
'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
O GridSearchCV testaria todas as 100, o que é demorado. O RandomizedSearchCV pode, em vez disso, avaliar um subconjunto menor, por exemplo, 20 combinações escolhidas aleatoriamente. Isso reduz o tempo de computação e geralmente produz resultados próximos do melhor.
O número de combinações a serem testadas é controlado pelo argumento n_iter (o padrão é 10). Fora isso, o uso é o mesmo que com o GridSearchCV.
Swipe to start coding
Você recebe um conjunto de dados de pinguins pré-processado, pronto para o treinamento do modelo.
Seu objetivo é ajustar os hiperparâmetros de um modelo KNeighborsClassifier utilizando os métodos de busca em grade (grid search) e busca aleatória (randomized search).
- Defina a grade de parâmetros chamada
param_gridcom os valores desejados paran_neighbors,weightsep. - Inicialize um objeto
RandomizedSearchCVutilizando a grade de parâmetros definida e configuren_iter=20. - Inicialize um objeto
GridSearchCVutilizando a mesma grade de parâmetros. - Treine ambos os objetos de busca no conjunto de dados utilizando o método
.fit(X, y). - Imprima o melhor estimador da busca em grade utilizando
.best_estimator_. - Imprima a melhor pontuação de validação cruzada da busca aleatória utilizando
.best_score_.
Solução
É possível executar o código várias vezes. Observe a diferença entre as duas pontuações. Às vezes, as pontuações podem ser iguais devido à presença dos melhores parâmetros entre as combinações amostradas pelo RandomizedSearchCV.
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain when to use RandomizedSearchCV instead of GridSearchCV?
How do I choose the right value for n_iter in RandomizedSearchCV?
What are the main advantages and disadvantages of RandomizedSearchCV?
Awesome!
Completion rate improved to 3.13
Desafio: Ajuste de Hiperparâmetros com RandomizedSearchCV
Deslize para mostrar o menu
O princípio do RandomizedSearchCV é semelhante ao do GridSearchCV, mas, em vez de testar todas as combinações possíveis, ele avalia apenas um subconjunto amostrado aleatoriamente.
Por exemplo, o seguinte param_grid contém 100 combinações:
param_grid = {
'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
O GridSearchCV testaria todas as 100, o que é demorado. O RandomizedSearchCV pode, em vez disso, avaliar um subconjunto menor, por exemplo, 20 combinações escolhidas aleatoriamente. Isso reduz o tempo de computação e geralmente produz resultados próximos do melhor.
O número de combinações a serem testadas é controlado pelo argumento n_iter (o padrão é 10). Fora isso, o uso é o mesmo que com o GridSearchCV.
Swipe to start coding
Você recebe um conjunto de dados de pinguins pré-processado, pronto para o treinamento do modelo.
Seu objetivo é ajustar os hiperparâmetros de um modelo KNeighborsClassifier utilizando os métodos de busca em grade (grid search) e busca aleatória (randomized search).
- Defina a grade de parâmetros chamada
param_gridcom os valores desejados paran_neighbors,weightsep. - Inicialize um objeto
RandomizedSearchCVutilizando a grade de parâmetros definida e configuren_iter=20. - Inicialize um objeto
GridSearchCVutilizando a mesma grade de parâmetros. - Treine ambos os objetos de busca no conjunto de dados utilizando o método
.fit(X, y). - Imprima o melhor estimador da busca em grade utilizando
.best_estimator_. - Imprima a melhor pontuação de validação cruzada da busca aleatória utilizando
.best_score_.
Solução
É possível executar o código várias vezes. Observe a diferença entre as duas pontuações. Às vezes, as pontuações podem ser iguais devido à presença dos melhores parâmetros entre as combinações amostradas pelo RandomizedSearchCV.
Obrigado pelo seu feedback!
single