Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Aplicação da otimização bayesiana ao KNN

space_knn = [
  {
      'knn__n_neighbors': Integer(5, 25),
      'knn__weights': Categorical(['uniform', 'distance']),
      'knn__metric': Categorical(['euclidean', 'manhattan'])
  }
]


opt_knn = BayesSearchCV(Pipeline([('scaler', StandardScaler()),('knn', KNeighborsClassifier())]),
                        search_spaces = space_knn,
                        scoring = "recall",
                        n_jobs = -1,
                        cv = inner_cv,
                        random_state = RANDOM_STATE)

bs_knn_nested_scores = cross_val_score(opt_knn, x_treino, y_treino, cv = outer_cv)

print(f'resultado de cada iteração do cv externo: {bs_knn_nested_scores}')
print(f'média: {bs_knn_nested_scores.mean()}')

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

opt_knn.fit(x_treino, y_treino)
opt_knn.best_params_

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Ei! Tudo bem, William?

Ótima implementação!
Você estruturou muito bem o pipeline com scaler + KNN, usou do jeito certo o BayesSearchCV e aplicou nested cross-validation, o que é uma prática excelente para evitar overfitting na escolha de hiper parâmetros.

O projeto está muito bem alinhado com a proposta da atividade. Parabéns pelo nível técnico!

Continue se dedicando aos estudos e qualquer dúvida, compartilhe!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!