1
resposta

Sobre o GroupKFold

Tenho algumas dúvidas quanto a esse algoritmo. Não entendi por que ele ajudaria na acurácia da predição de novos modelos. Entendo, na minha ignorância, que seria exatamente o contrário: enviesaríamos o algoritmo com possibilidade de overfiting por modelo, certo? Não sei se ficou confuso minha dúvida, mas veja, é como se eu tivesse três modelos: A, B e C; se entra um modelo D, no quê separar a validação por modelo vai ajudar a predizer o modelo D inexistente na base anterior?

O Guilherme até usou o exemplo do carro voador. Pois bem. Predizer preço seria inviável, pois o modelo não estaria treinado nesse tipo de carro exatamente por ser um tipo novo.

Acredito que esse groupkfold ajudaria em modelos regressivos de machine learning feitos após um modelo de clustering, não é?

tks

1 resposta

Olá, Pietro! Tudo tranquilo?

Novamente, peço desculpas pela demora em retornar.

O que o GroupKFold faz é uma análise mais precisa de como o modelo se comporta no mundo real, sendo oferecidos dados nunca vistos com características diferentes (ou não) devido a pertencerem a grupos diferentes. Seu propósito é detectar essas situações de overfitting.

Quando garantimos que o mesmo grupo não seja representado nos conjuntos de teste e treinamento, garantimos que as amostras características de cada grupo também sejam separadas. Então quando executamos o GroupKFold o que estamos dizendo pro algoritmo é o seguinte:

"Você tem as amostras dos modelos A, B e C com suas respectivas características, mas como você se comporta se eu colocar um modelo D que pode ou não ter características semelhantes aos outros 3?"

E então o algoritmo vai nos entregar a acurácia de como é o comportamento para um grupo nunca visto (que podem ter características muito diferentes das dos outros grupos), e isso repetidamente para o número de separações determinado (n_splits). Se a acurácia for muito baixa significa que o modelo não se adapta bem quando temos amostras de outros grupos, e assim nos diz se o modelo sofrerá overfitting ou não, se nosso modelo é generalista ou não.

No caso do carro voador, como as características seriam totalmente diferentes, o estimador não seria capaz de classificar essa amostra, caso tivesse um grupo só com os carros voadores o GroupKFold nos retornaria uma acurácia bem baixa, informando que a classificação para esse grupo não foi possível, não por overfitting mas pelas características serem completamente novas. Imagine que você tem um banco de dados só com características de cachorro e porco, e você tem um modelo que classifica em cachorro ou porco as amostras fornecidas. Concorda que se fosse fornecido as características de um Gavião, por exemplo, seu modelo não teria a menor ideia do que fazer? Essa é a mesma situação do carro voador. O instrutor faz um comentário sobre isso aos 04:35 dessa aula.

Espero ter ajudado, mas se ainda persistir alguma dúvida estou sempre à disposição.

:) (smile face)

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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software