1
resposta

Como criar um modelo de regressão linear com Datas?

Pessoal, boa tarde.

Estou tentando criar um modelo de machine learning inicialmente pela regressão linear. No meu conjunto de dados eu possuo uma tabela sendo as variáveis que utilizarei a "DATA" e o "TRANSACTION QTY" que é um valor positivo. As datas são de um período de 2017 até 2021 onde possui vários dias e cada dia especifico uma transação de número positivo. Gostaria de criar meu modelo de treino com essa relação mas estou tendo alguns erros no caminho.

x = all_data_A['Data']

y = all_data_A['Transaction_Qty']

from sklearn.model_selection import train_test_split
from sklearn import linear_model

SEED=4500

x_treino, x_teste, y_treino, y_teste = train_test_split(x, y, random_state = SEED)

rgs = linear_model.LinearRegression(fit_intercept=False, normalize=True)

rgs.fit(x_treino, y_treino)

O erro que aparece no google colab é este:

ValueError: Expected 2D array, got 1D array instead:
array=['2020-12-05T00:00:00.000000000' '2018-02-05T00:00:00.000000000'
 '2020-08-19T00:00:00.000000000' '2018-12-28T00:00:00.000000000'...
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.

Tabela

1 resposta

Boas Felipe! Tudo bem?

Quando temos um conjunto de dados que contém data, chamamos esse conjunto de série temporal. Isso ocorre porque séries temporais tem suas ferramentas próprias para se trabalhar e se analisar.

Nesse caso, creio que não seja o ideal trabalhar com uma regressão linear para esse conjunto de dados, visto que as séries temporais tem um ferramental próprio em modelo e formas de tratar a série que são diferentes de outros dados.

Diante disso, recomendo que assista os cursos:

Esses cursos lhe apresentarão as ferramentas e técnicas específicas para lidar com séries temporais.

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