Prezados, a abordagem a seguir é válida?
No caso, usar o accuracy_score nos 20% usados no final para validação para saber se o meu modelo vai performar bem para as minhas necessidades.
best = busca.best_estimator_
best.fit(x_treino_teste, y_treino_teste)
from sklearn import metrics
metrics.accuracy_score(y_validacao, best.predict(x_validacao))
(Com ou sem fit)
No caso de não podermos fazer um cross validation, eu não sei se fazer a validação com cross_val_score representa alguma vantagem já que só teremos uma rodada de treino e teste na busca pelos hiper parâmetros. No outro caso, eu tinha entendido que era para evitar um vício nos dados de treino, um overfitting, mas aqui temos um conjunto de dados que não foi usado no treino. Aqui também é o caso?
Pelo que entendi, o cross_val_score faria apenas um split nesses 20% de dados separados pra fazer a validação. Eu não entendi a necessidade de fazer essa nova rodada de teste-treino nessa porção de dados, sendo que só vai ter um split (e ainda incorre num risco de ser uma porção muito pequena dos dados dependendo do caso).
Por que a score oferecida pelo cross_val_score me oferecia uma métrica mais confiável da performance do meu modelo neste caso específico em que não poderemos fazer cross validation?