4
respostas

Problema para Ajustar o Modelo

no seguinte comando: x_train, x_test, y_train, y_test - train_test_split(x, y, test_size=0.2, random_state=2811) mostrou que as variáveis de entrada estão com números inconsistentes de entradas

4 respostas

Olá Lucas, tudo bem? Espero que sim!

O comando correto é com o sinal de igual e não com o sinal de subtração.

A transcrição estava incorreta mas foi ajustada. Obrigado por sinalizar para conseguirmos ajustar aqui.

Código correto:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=2811)

Espero que tenha tirado sua dúvida.

Estou à disposição. Bons estudos!

ainda está apresentando erro 'ValueError: Found input variables with inconsistent numbers of samples: [1, 5000]'

Olá Lucas,

Pode dar mais detalhes de como executou os códigos anteriores? Pode ter acontecido algum problema em alguma transformação do conjunto de dados em células anteriores.

O código completo da aula está disponibilizado através da atividade 01 da aula 05: Projeto da aula anterior e pode ser baixada através do link: aula-4-completa. Você pode checar se fez o código da mesma forma ou se há alguma inconsistência.

O código reduzido para se chegar ao resultado é o seguinte (tendo em vista que o conjunto de dados dataset.csv se encontra na mesma pasta do notebook):

from sklearn.model_selection import train_test_split

import statsmodels.api as sm
import pandas as pd
import numpy as np

dados = pd.read_csv('dataset.csv', sep=';')

dados['log_Valor'] = np.log(dados['Valor'])
dados['log_Area'] = np.log(dados['Area'])
dados['log_Dist_Praia'] = np.log(dados['Dist_Praia'] + 1)
dados['log_Dist_Farmacia'] = np.log(dados['Dist_Farmacia'] + 1)

y = dados['log_Valor']
X = dados[['log_Area', 'log_Dist_Praia', 'log_Dist_Farmacia']]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=2811)

X_train_com_constante = sm.add_constant(X_train)
modelo_statsmodels = sm.OLS(y_train, X_train_com_constante, hasconst = True).fit()
print(modelo_statsmodels.summary())

Qualquer dúvida estou à disposição. Bons estudos!

Muito obrigada, João!