1
resposta

aula 02 - estratificando splits - rodar varias vezes o split aleatoriamente: é possivel aprender com isso?

na aula onde aprendemos a aplicar o train_test_split do sklearn vimos que cada vez que rodar a função ela vai separar os valores aleatoriamente e em algumas dessas vezes a maquina acerta 100%.

dae eu fiquei me perguntando, é possível guardar cada uma dessas vezes que o split separa as linhas aleatoriamente pra saber porque a maquina supostamente aprendeu melhor naquela formação e nao em outra que deu por exemplo 92% de acerto?

porque se a maquina acertou 100% em um e 92% em outra quer dizer que em uma ela aprendeu melhor ne? Como sabemos o porquê disso?

1 resposta

Olá Afonso! Tudo bem com você??

Então se você perceber, o professor informa que o fato de dar 100% é considerado um erro da máquina, pois é um resultado irreal. Observa a transcrição do vídeo:

"Mas esse resultado é um pouco estranho, não? Após uma verificação, perceberemos que não parece existir nada de errado no código. Porém, o executarmos novamente, teremos resultados variáveis, como 96%, 92% e até 100% novamente.

Isso ocorre porque o algorítimo train_test_split, por padrão, realiza aleatoriamente a separação de dados de treino e teste. Desse modo, todas as vezes que ele é executado podemos ter um resultado diferente.

Então como podemos fazer com que o nosso experimento seja replicável?

Precisaremos definir um número inicial para os algorítimos de geração de números aleatórios. Esse número inicial é chamado SEED, e nesse caso usaremos o número 20. Em seguida, definiremos para o train_test_split o uso do random_state = SEED."

Na transcrição acima, também é informado uma maneira para que os testes possam ser replicados. Para isso é utilizado um recurso chamado SEED, que é capaz de tirar a aleatoriedade ao definirmos um valor fixo.

Existe uma máxima que se a IA estiver resultando em 100%, então algo não está certo. Você pode guardar os resultados declarando variáveis, porém, neste caso do exemplo da aula, não adiantaria pelo sentido da aleatoriedade e que não temos acesso ao processo utilizado "por trás" da biblioteca do SKLearn.

Espero ter te ajudado e qualquer dúvida é só retornar aqui! Bons estudos Afonso!