Bom dia! Ao plotar o graficod e regressão, a linha não vai até o intercepto. Como posso ajustar?
Bom dia! Ao plotar o graficod e regressão, a linha não vai até o intercepto. Como posso ajustar?
Oii, Gabriel! Tudo bem?
Verdade, Gabriel, ao testar por aqui a linha não pega no início. E isso acontece pela falta do 0 no eixo X, a linha de regressão toma como base os dados que são passados e se ajusta exatamente nos valores dos parâmetros adicionados. E, nesse caso, o valor de X se inicia acima de 1000, consequentemente a linha não passará do limite (0,Y).
A seguir, temos um código para o teste, com o 0 adicionando no eixo X:
# Prevendo valores para a linha de regressão
x_range = np.linspace(0, max(dataset['X']), 100) # Incluindo 0 no range de X
y_pred = model.predict(x_range.reshape(-1, 1))
# Plotar os dados
plt.figure(figsize=(12, 6))
sns.scatterplot(x="X", y="Y", data=dataset)
# Plotar a linha de regressão
plt.plot(x_range, y_pred, color='blue')
# Ajustar o limite do eixo X para começar em 0
plt.xlim(0, max(dataset['X']))
plt.title('Reta de Regressão - Gasto X Renda', fontsize=16)
plt.xlabel("Renda das Famílias", fontsize=14)
plt.ylabel("Gasto das Famílias", fontsize=14)
plt.show()
Faça o teste e observe se funciona como esperado. Deixo abaixo o notebook que usei, o código está na aba Teste:
Espero ter ajudado e bons estudos!