#python #pandas #numpy #matplotlib #linear-regression
#python #панды #numpy #matplotlib #линейная регрессия
Вопрос:
Я работаю над моделью прогнозирования запасов, и я получаю эту ошибку, хотя они имеют одинаковые значения!
Это код, в котором я обучаю модель и использую линейную регрессию
x_train, x_test, y_train, y_test = train_test_split(x,y,test_size = 0.2)
clf = LinearRegression()
clf.fit(x_train, y_train)
scorepredict = clf.score(x_test,y_test)
predictedprice = clf.predict(x_prediction)
Вот где я получаю ошибку.
dates = pd.date_range(start = "2018-03-28", end = "2018-04-28")
plt.plot(dates,color ="y")
df["Adj. Close"].plot(color = "g")
plt.xlim(xmin=datetime.date(2017,1,1))
И здесь я настраиваю массивы x и y.
predictiondays = 30
df["Prediction"] = df[["Adj. Close"]].shift(-predictiondays)
x = np.array(df.drop(["Prediction"],1))
x = preprocessing.scale(x)
x_prediction = x[-predictiondays:]
x = x[:-predictiondays]
y = np.array(df["Prediction"])
y = y[:-predictiondays]
Редактировать:
Теперь в clf.fit появляется эта ошибка:
Ошибка значения: ожидаемый 2D массив, вместо этого получен 1D массив: массив=[-1.23874374 1.49125839 0.80930081 … 0.32190385 1.01987874 1.06322504].
Я ничего не трогал lul.
Комментарии:
1. Разве x не должно быть двумерным представлением? x = np.array( [df.drop([«Предсказание»],1) ] )
2. @Amirhosein Он двумерный, нет? Я изменил его на x = np.array([df.drop([«Prediction»],1) ] ), и теперь он говорит, что это 3-мерный массив.