1
resposta

Como uma rede neural é usada para prever dados no futuro?

Gostei bastante do curso e consegui reproduzir todos os passos em uma base que estou utilizando. O que não ficou claro pra mim é como fazer a previsão para dados que estão de fato no futuro, quando não há mais a referência dos dados de teste. Como o timestamp não é mais utilizado como entrada não consigo entender como isso funcionaria. Pesquisei por aí e encontrei algumas soluções para quando se usa RNN (usando sequence), mas não entendi tão bem. Gostaria de entender como fazer isso numa rede neural comum como a do primeiro exemplo do curso.

1 resposta

Oii Lucas, tudo certinho por ai? Espero que sim!

Desculpa a demora em te dar um retorno.

Primeiramente, obrigada pelos seus feedbacks positivos, ficamos felizes quando alunos conseguem aplicar em outros casos o que aprenderam em cursos por aqui :)

Agora para falar sobre como aplicar um modelo para fazer novas previsões quando, em teoria não existe mais essa referência de teste. É muito comum nós utilizarmos modelos, treinarmos e fazer a fase que nos cursos chamamos de testes, mas que no mundo acadêmico você pode encontrar como validação e os testes mesmo são feitos quando aplicamos novos dados que não eram da mesma base de dados que já tínhamos. Então, temos três fases, treinamento, validação e teste, sendo que as duas primeiras são as que aprendemos nos cursos por aqui.

Sendo assim, depois de fazermos a fase de treinamento e validação passamos para a fase de teste, que nada mais é que usar um predict() novamente, com outros dados afim de saber como que nosso modelo vai reagir, esses outros dados que você precisa usar devem ter o mesmo shape, ou mais informalmente o mesmo "jeito", dos dados já usados anteriormente para que não existam problemas na hora da execução. Muitas vezes as pessoas confundem a fase de validação e teste exatamente por elas serem bem parecidas.

Caso você queira, por exemplo, salvar o seu modelo já treinado para usar novamente em algum outro momento, você pode usar o método pickle.

Para salvar o modelo você pode fazer dessa forma:

import pickle

filename = 'modelo_final.pkl'
with open(filename, 'wb') as file:  
    pickle.dump(modelo, file)

E quando quiser usar novamente pode carregar ele dessa forma:

import pickle

filename = 'modelo_final.pkl'
with open(filename, 'rb') as file:  
    modelo_carregado = pickle.load(file)

Dessa forma você pode usar seu modelo normalmente, mas ao invés de você treinar tudo novamente, você apenas coloca o seu novo conjunto de dados que quer saber qual é a classificação onde colocava os dados que tentava predizer nas aulas, ou seja, o teste.

Espero que tenha te ajudado, qualquer outra dúvida pode me chamar, ok?

Bons estudos ^^

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