Oi, Bruno! Tudo bom com você? Eu espero que sim!
Desculpa a demora em te dar um retorno.
Na aula o instrutor explica que pode não ser possível executar o cross validation independente do fold, para que fosse possível conseguir isso seria necessário separar os dados de outra forma.
Quando foi executado o RandomizedSearchCV era trabalhado apenas a fase de treino e teste, e a fase de validação com cross_val_score(). Mas para o objetivo da aula o instrutor adicionou mais uma fase tornando assim, três diferentes fases para o projeto: uma fase de treino do modelo (ou de vários modelos) na busca de otimizar os hiperparâmetros; uma fase de teste, comparando os modelos para encontrar os melhores resultados; e uma fase de validação, tentando alcançar uma estimativa real desse algorítimo.
Para seguir essas três fases seria necessário separar os dados em 3 conjuntos distintos: o conjunto de treino, um de teste e outro de validação. No entanto, a função train_test_split()
retorna apenas 2 conjuntos de dados, por conta disso, é preciso fazer uma forma diferente de separar os conjuntos. Nesse caso, a divisão uniu os dados de treino e teste em uma mesma variável, separando-os dos dados de validação. Mesmo assim, ainda é necessário separar o conjunto de treino e teste
O StratifiedShuffleSplit
vem para executar uma função no lugar do KFlod, mas de uma forma que permita aleatorizar os dados e quebrá-los de acordo com a estratificação dos dados definidos nele. No código ele divide os dados de treino e teste para o classificador, estratificando-os de forma que seja reservado 25% do conjunto de treino e teste para teste. Se fosse utilizado um cross validation com 2 folds, seria executado duas vezes o algorítimo com 50% dos dados em cada uma das vezes, já com StratifiedShuffleSplit
é feita apenas uma iteração com 80% dos dados para o treino, e 20% para teste, diminuindo também o tempo de execução se comparado com o código anterior.
Eu espero ter te ajudado! Se surgir outra dúvida estarei à disposição ;-)
Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!