3
respostas

Definiçao dos dados de treino

Olá, tenho uma dúvida. A função train_test_split pega um conjunto de dados carregado como entrada e retorna o conjunto de dados dividido em dois subconjuntos, de treino e teste.

Tenho um trabalho no qual preciso definir o conjunto de dados de testes. Exemplo: Quero prever a quantidade de ônibus necessária por dia Y para satisfazer uma linha que sai/retorna para a cidade Batatais.

Para isto, devo deixar para teste as linhas que contenham a cidade alvo (Batatais). Como faço para separar estes dados de teste? Separo dentro do X_test, y_test carregaddo pelo train_test_split?

3 respostas

Olá Claudia, tudo bem? Espero que sim!

O método train_test_split irá separar o conjunto de dados entre dados de treinamento e dados de teste para que você consiga treinar o seu modelo com os dados de treinamento e validar o modelo com os dados de teste.

A separação entre variáveis explicativas ( X ) e a variável alvo ( y ) deve ser feita antes do uso do método train_test_split, para que sejam passadas como argumento da função. Portanto a variável alvo ( y ) no seu exemplo é a quantidade de ônibus, enquanto as variáveis explicativas são as variáveis utilizadas para encontrar a quantidade de ônibus. Como a regressão se trata de uma modelagem supervisionada, é necessário que o conjunto de dados sejam rotulados, com uma coluna contendo a variável quantidade de ônibus de registros passados.

Após a divisão entre variáveis explicativas e a variável alvo, você pode utilizar o train_test_split para dividir o conjunto de dados entre treinamento e teste, como no código a seguir:

X_train, X_test, y_train, y_test = train_test_split(X, y)

O método retorna 4 resultados:

  • O X_train são os dados de treinamento das variáveis explicativas.
  • O X_test é a variável alvo para os dados de treinamento.
  • O y_train são os dados de teste das variáveis explicativas.
  • O y_test é a variável alvo para os dados de teste.

Espero que tenha tirado sua dúvida.

Bons estudos!

Olá! Obrigada pela resposta. Esta parte eu entendi bem. Minha dúvida é, uma vez que treinei o modelo. Depois que testei com a variavel x_test, comparei com o y_test, calculei metricas e tudo mais. Eu agora quero usar meu modelo para prever a quantidade de onibus no trecho que exemplifiquei. Eu crio uma variavel x_test_trecho_especifico e faço

y_previsto_trecho_especifico = model.predict(x_test_trecho_especifico)

É correto fazer isto?

Olá Claudia,

Exatamente isso que você precisa fazer Claudia. Você irá passar através do predict um novo registro e o valor gerado será sua previsão.

Lembre-se que x_test_trecho_especifico precisa ter todas as variáveis explicativas que foram utilizadas no treinamento do modelo.

Um ponto importante também é que após ser feita a validação do modelo com os dados de teste, você pode retreinar o modelo utilizando todos os dados iniciais, dessa forma você treinará um modelo mais robusto por ter ainda mais observações para aprender.

Bons estudos!