1
resposta

selecionador_rfecv.grid_scores_ Aula 5

Bom dia.

Quando executo o comando "selecionador_rfecv.grid_scores_", aparece o erro "AttributeError: 'RFECV' object has no attribute 'grid_scores_'". Vi em outro post para fazer "selecionador_rfecv.ranking_" e depois "plt.plot(range(1, len(selecionador_rfecv.cv_results_['mean_test_score']) + 1), selecionador_rfecv.cv_results_['mean_test_score'])", mas a partir desse ponto, todos os gráficos são diferentes. E eu baixei do GIT e segui passo a passo, assim sendo, todos os paramentos estão igual. Como posso solucionar?

1 resposta

Olá, Vera! Tudo bem com você?

O erro "AttributeError: 'RFECV' object has no attribute 'grid_scores_'" ocorre quando a classe RFECV (Recursive Feature Elimination with Cross-Validation) do scikit-learn não tem o atributo grid_scores_. Este atributo foi removido do scikit-learn, e desde então, a função RFECV retorna um atributo chamado cv_results_ que contém os resultados da validação cruzada.

Antigamente aparecia o seguinte aviso:

FutureWarning: The grid_scores_ attribute is deprecated in version 1.0 in favor of cv_results_ and will be removed in version 1.2.

Para corrigir o erro, basta substituir o uso do atributo grid_scores_ pelo atributo cv_results_. Por exemplo, em vez de usar:

rfecv.grid_scores_

Você deve usar:

rfecv.cv_results_['mean_test_score']

Dessa forma, você deve conseguir acessar os resultados da validação cruzada e resolver o erro e resolver a diferença.

Obs: rfecv.cv_results_['mean_test_score'] e rfecv.ranking_ são atributos diferentes da classe RFECV do scikit-learn que fornecem informações diferentes sobre o processo de seleção de recursos.

O atributo rfecv.cv_results_['mean_test_score'] contém os resultados da validação cruzada (cross-validation) para cada conjunto de recursos selecionados. Ele fornece uma medida de desempenho (score) médio da validação cruzada para cada subconjunto de recursos selecionados. Geralmente, esse score é usado para avaliar o desempenho do modelo em diferentes conjuntos de recursos e ajudar a escolher o melhor conjunto de recursos para o modelo.

Por outro lado, o atributo rfecv.ranking_ contém a classificação dos recursos de acordo com a importância estimada pelo método de eliminação recursiva de recursos. Os recursos com classificação mais baixa (mais próximos de 1) são considerados mais importantes pelo método.

Qualquer dúvida estou à disposição.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!