2
respostas

[Dúvida] Porque não dividir em Treino e Teste?

Quando fui conferir o colab do exercício: "Mão na massa: análise e seleção de modelos de regressão linear" percebi que não houve a divisão entre treino e teste, pegou os dados completos. Eu fiz assim:

hx_train, hx_test, hy_train, hy_test  = train_test_split(
    dados_hoteis.drop('Preco', axis=1),
    dados_hoteis['Preco'],
    test_size = 0.3,
    random_state = 230
)

df_htrain = pd.DataFrame(hx_train)
df_htrain['Preco'] = hy_train

modelo_h0 = ols(
    'Preco ~ ProximidadeTurismo',
    data = df_htrain
).fit()

E ai que eu fui fazendo os outros modelos, combinando minhas variáveis e o melhor R2 sem a nota de rodapé de que os dados podem não estar sendo explicado foi o que levou em conta todas as variáveis:

Tabela sumário do modelo de regrassão linear levando em conta todas as variáveis do meu dataset

Com isso posso supor que esse é o meu melhor modelo? Segue os outros para comparação: Modelo: Estrelas e Capacidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Modelo: ProximidadeTurismo e Estrelas

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Modelo: ProximidadeTurismo e Capacidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Vale ressaltar que não enviei o print do modelo_0 que é o que leva em conta só a ProximidadeTurismo

Oii, Lucas! Tudo bem?

Ótima observação! Essa prática da divisão em conjuntos de treino e teste é muito comum, pois ajuda a avaliar o desempenho do modelo em dados que ele não viu durante o treinamento, podendo captar uma estimativa mais realista de sua capacidade de generalização.

Na resolução disponibilizada, os dados não foram divididos desta forma, por ter seu foco maior na simplificação e didática da compreensão dos conceitos de regressão linear e na construção do modelo, deixando a complexidade da segmentação dos conjuntos para outro momento.

No seu caso, você está indo muito bem! No seu exemplo, foi divido os dados usando a função train_test_split do Scikit-learn, separando 30% dos dados para teste. Em seguida, você treinou o modelo com os dados de treino e avaliou diferentes combinações de variáveis para determinar o melhor modelo com base no coeficiente de determinação R².

Podemos concluir que dividir os dados em treino e teste é uma boa prática para avaliar a robustez e a generalização do modelo para uma análise mais rigorosa, que podemos levar em consideração caso o contexto real de um Cientista de Dados.

Continue se dedicando aos estudos e qualquer dúvida, compartilhe no fórum.

Bons estudos, Lucas!