Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Desafio: Ajuste de Hiperparâmetros com RandomizedSearchCV | Modelagem
Introdução ao ML com Scikit-Learn

bookDesafio: 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.

Tarefa

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).

  1. Defina a grade de parâmetros chamada param_grid com os valores desejados para n_neighbors, weights e p.
  2. Inicialize um objeto RandomizedSearchCV utilizando a grade de parâmetros definida e configure n_iter=20.
  3. Inicialize um objeto GridSearchCV utilizando a mesma grade de parâmetros.
  4. Treine ambos os objetos de busca no conjunto de dados utilizando o método .fit(X, y).
  5. Imprima o melhor estimador da busca em grade utilizando .best_estimator_.
  6. Imprima a melhor pontuação de validação cruzada da busca aleatória utilizando .best_score_.

Solução

Note
Nota

É 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.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 8
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 3.13

bookDesafio: 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.

Tarefa

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).

  1. Defina a grade de parâmetros chamada param_grid com os valores desejados para n_neighbors, weights e p.
  2. Inicialize um objeto RandomizedSearchCV utilizando a grade de parâmetros definida e configure n_iter=20.
  3. Inicialize um objeto GridSearchCV utilizando a mesma grade de parâmetros.
  4. Treine ambos os objetos de busca no conjunto de dados utilizando o método .fit(X, y).
  5. Imprima o melhor estimador da busca em grade utilizando .best_estimator_.
  6. Imprima a melhor pontuação de validação cruzada da busca aleatória utilizando .best_score_.

Solução

Note
Nota

É 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.

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 8
single

single

some-alt