Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Método de treinamento

Boa tarde pessoal, sobre esta aula em si, normalmente nos outros cursos utilizamos o train_test_split para separar os dados de treino e teste que inclusive normalmente leva em consideração a proporção de 70% treino e o restante teste. Sei que nao é lei, mas porque nao foi utilizado a funcao para separar os dados e porque a menor parte dos dados foi utilizado para treino?

1 resposta
solução!

Da documentação: https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html " Split arrays or matrices into random train and test subsets."

O train_test_split divide nosso dataset em subconjuntos de treino e teste de modo aleatório, tentando deixá-los o menos padronizados e enviezados quanto possível.

Porém, nas séries temporais não podemos trabalhar com os dados distribuídos de forma aleatória, pois a ordem cronológica é o determinante deste tipo de modelo, dividir randomicamente violaria a lógica temporal e resultaria em uma avaliação irrealista.

Por isso precisamos de outras alternativas para fazer essa divisão, uma delas pode ser o TimeSeriesSplit: https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.TimeSeriesSplit.html

Agora, quanto ao tamanho dos dataset de treino/test, o tamanho da escolha deve variar de acordo com o tamanho do nosso dataset Quanto mais dados de treino pudermos utilizar, melhor a generalização e menor o risco de overfitting aos poucos exemplos. Se usássemos muito pouco para treino e muito para teste, o modelo seria mal treinado e o desempenho na prática seria ruim.