У меня есть файл Excel, в котором хранится последовательность в каждом столбце (чтение из верхней ячейки в нижнюю), и тенденция последовательности аналогична предыдущему столбцу. Поэтому я хотел бы предсказать последовательность для n-го столбца в этом наборе данных.
Образец моего набора данных:
Обратите внимание, что у каждого столбца есть набор значений / последовательности, и они сортируются по мере продвижения вправо, поэтому я хочу предсказать, например, значения в столбце Z.
Вот мой код:
import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
# Read the Excel file in rows
df = pd.read_excel(open('vec_sol2.xlsx', 'rb'),
header=None, sheet_name='Sheet1')
print(type(df))
length = len(df.columns)
# Get the sequence for each row
x_train, x_test, y_train, y_test = train_test_split(
np.reshape(range(0, length - 1), (-1, 1)), df, test_size=0.25, random_state=0)
print("y_train shape: ", y_train.shape)
pred_model = LogisticRegression()
pred_model.fit(x_train, y_train)
print(pred_model)
Я объясню логику как можно больше:
x_train
и x_test
будут просто номером индекса / столбца, связанным с последовательностью.
y_train
- массив последовательностей.
- Всего имеется 51 столбец, поэтому разделение его на 25% представляет собой результаты тестовых данных в 37 последовательностях поездов и 13 последовательностях тестов.
Мне удалось получить формы каждого вар при отладке, они:
x_train
: (37, 1)
x_test
: (13, 1)
y_train
: (37, 51)
y_test
: (13, 51)
Но сейчас при запуске программы выдается следующее сообщение:
ValueError: bad input shape (37, 51)
В чем здесь моя ошибка?