A Falha do GridSearchCV
Antes de utilizar o GridSearchCV, observe que o KNeighborsClassifier possui mais hiperparâmetros além de n_neighbors. Dois importantes são weights e p.
Pesos
Por padrão, o classificador utiliza weights='uniform', ou seja, todos os k vizinhos têm o mesmo peso na votação.
Ao definir weights='distance', vizinhos mais próximos têm mais influência, o que frequentemente melhora as previsões quando pontos próximos são mais relevantes.
P
O parâmetro p controla a métrica de distância:
p=1: distância de Manhattan;p=2: distância Euclidiana.
O parâmetro p pode assumir qualquer número inteiro positivo. Existem muitas distâncias diferentes, mas elas são mais difíceis de visualizar do que p=1 ou p=2.
Não se preocupe se os detalhes de weights ou p não estiverem claros. Eles são apresentados apenas para mostrar que existe mais de um hiperparâmetro que pode influenciar as previsões do modelo. Considere-os como exemplos de hiperparâmetros que podem ser ajustados.
Anteriormente, apenas n_neighbors era ajustado. Para pesquisar todos os três hiperparâmetros, utilize:
param_grid = {
'n_neighbors': [1, 3, 5, 7],
'weights': ['distance', 'uniform'],
'p': [1, 2]
}
GridSearchCV testa todas as combinações possíveis para encontrar a melhor, então irá testar todas estas:
Uma grade maior como:
param_grid = {
'n_neighbors': [...],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
cria 100 combinações. Com validação cruzada de 5 partes, o modelo é treinado 500 vezes. Isso é adequado para conjuntos de dados pequenos, mas para conjuntos maiores torna-se muito lento.
Para reduzir o tempo de computação, RandomizedSearchCV testa apenas um subconjunto aleatório das combinações, geralmente encontrando bons resultados muito mais rápido do que uma busca em grade completa.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.13
A Falha do GridSearchCV
Deslize para mostrar o menu
Antes de utilizar o GridSearchCV, observe que o KNeighborsClassifier possui mais hiperparâmetros além de n_neighbors. Dois importantes são weights e p.
Pesos
Por padrão, o classificador utiliza weights='uniform', ou seja, todos os k vizinhos têm o mesmo peso na votação.
Ao definir weights='distance', vizinhos mais próximos têm mais influência, o que frequentemente melhora as previsões quando pontos próximos são mais relevantes.
P
O parâmetro p controla a métrica de distância:
p=1: distância de Manhattan;p=2: distância Euclidiana.
O parâmetro p pode assumir qualquer número inteiro positivo. Existem muitas distâncias diferentes, mas elas são mais difíceis de visualizar do que p=1 ou p=2.
Não se preocupe se os detalhes de weights ou p não estiverem claros. Eles são apresentados apenas para mostrar que existe mais de um hiperparâmetro que pode influenciar as previsões do modelo. Considere-os como exemplos de hiperparâmetros que podem ser ajustados.
Anteriormente, apenas n_neighbors era ajustado. Para pesquisar todos os três hiperparâmetros, utilize:
param_grid = {
'n_neighbors': [1, 3, 5, 7],
'weights': ['distance', 'uniform'],
'p': [1, 2]
}
GridSearchCV testa todas as combinações possíveis para encontrar a melhor, então irá testar todas estas:
Uma grade maior como:
param_grid = {
'n_neighbors': [...],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
cria 100 combinações. Com validação cruzada de 5 partes, o modelo é treinado 500 vezes. Isso é adequado para conjuntos de dados pequenos, mas para conjuntos maiores torna-se muito lento.
Para reduzir o tempo de computação, RandomizedSearchCV testa apenas um subconjunto aleatório das combinações, geralmente encontrando bons resultados muito mais rápido do que uma busca em grade completa.
Obrigado pelo seu feedback!