Comece agoraComece grátis

Crie recursos de treino e teste

Antes de ajustarmos nosso modelo linear, queremos adicionar uma constante às nossas features, para que o modelo tenha um intercepto.

Também vamos criar features de treino e de teste. Assim, conseguimos ajustar o modelo no conjunto de treino e avaliar o desempenho no conjunto de teste. Sempre precisamos verificar o desempenho em dados que o modelo não viu para garantir que não haja overfitting, que é quando ele memoriza padrões do conjunto de treino com precisão excessiva.

Com uma série temporal como esta, normalmente usamos os dados mais antigos como conjunto de treino e os mais recentes como conjunto de teste. Dessa forma, avaliamos o desempenho do modelo nos dados mais atuais, o que simula de forma mais realista previsões em dados que ainda não vimos.

Este exercicio faz parte do curso

Machine Learning para Finanças em Python

Ver curso

Instruções do exercicio

  • Importe a biblioteca statsmodels.api com o alias sm.
  • Adicione uma constante à variável features usando a função .add_constant() do statsmodels.
  • Defina train_size como 85% do número total de pontos de dados (número de linhas) usando a propriedade .shape[0] de features ou targets.
  • Separe linear_features e targets em conjuntos de treino e teste usando train_size e a indexação em Python (por exemplo, [start:stop]).

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# Import the statsmodels.api library with the alias sm
___

# Add a constant to the features
linear_features = sm.____(features)

# Create a size for the training set that is 85% of the total number of samples
train_size = int(0.85 * ____)
train_features = linear_features[:train_size]
train_targets = targets[____]
test_features = linear_features[train_size:]
test_targets = targets[train_size:]
print(linear_features.shape, train_features.shape, test_features.shape)
Editar e Executar Código