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!