Как исправить ошибку «Если вы используете все скалярные значения, вы должны передать индекс»? - PullRequest
Купить гитару в Москве
0 голосов
/ 23 декабря

Я вручную пытаюсь построить модель линейной регрессии для понимания цели без использования встроенной функции. Я получаю ошибку при построении линии регрессии. Пожалуйста, помогите мне исправить это.

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import seaborn as sb

data = {'X': list(np.arange(0,10,1)), 'Y': [1,3,2,5,7,8,8,9,10,12]}
df = pd.DataFrame(data) 
df2 = pd.DataFrame(np.ones(10), columns = ['ones'])
df_new = pd.concat([df2,df], axis = 1)

X = df_new.loc[:, ['ones', 'X']].values
Y = df_new['Y'].values.reshape(-1,1)

theta = np.array([0.5, 0.2]).reshape(-1,1)

Y_pred = X.dot(theta)
sb.lineplot(df['X'].values.reshape(-1,1),Y_pred)
plt.show()

Сообщение об ошибке:

Если вы используете все скалярные значения, вы должны передать индекс

...