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 dos melhores.
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
- Inicializar um objeto
RandomizedSearchCV
com o grid de parâmetros e definirn_iter=20
. - Inicializar um objeto
GridSearchCV
com o mesmo grid de parâmetros. - Treinar ambos os objetos de busca utilizando
.fit(X, y)
. - Exibir o melhor estimador da busca em grade com
.best_estimator_
. - Exibir a melhor pontuação da busca aleatória com
.best_score_
.
Solução
Você pode tentar 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 dos melhores.
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
- Inicializar um objeto
RandomizedSearchCV
com o grid de parâmetros e definirn_iter=20
. - Inicializar um objeto
GridSearchCV
com o mesmo grid de parâmetros. - Treinar ambos os objetos de busca utilizando
.fit(X, y)
. - Exibir o melhor estimador da busca em grade com
.best_estimator_
. - Exibir a melhor pontuação da busca aleatória com
.best_score_
.
Solução
Você pode tentar 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!
Awesome!
Completion rate improved to 3.13single