размеры не совпадают в линейной регрессии - PullRequest
0 голосов
/ 09 января 2020

Я пробую простую модель линейной регрессии, но не понимаю, почему появляется такая ошибка:

Вот мой код:

from sklearn import linear_model
regr = linear_model.LinearRegression()
regr.fit(X, Y)

, который выдает следующую ошибку:

ValueError: Found input variables with inconsistent numbers of samples: [1518, 15]

формы X и Y:

X.shape, Y.shape
((1518, 1), (15, 1))

Я пытаюсь предсказать эти Y из X, но мои измерения не совпадают; Как я могу преодолеть эту проблему?

Спасибо

1 Ответ

1 голос
/ 09 января 2020

Похоже, вы неправильно поделили свои функции и объяснительные переменные.

Учитывая то, что вы написали, у вас есть N=1518 выборок и 15 функций, одна из которых - переменная результата.

В этом случае вы вводите вектор для Y, а матрица для X должна иметь форму:

X.shape = (1518,14)
Y.shape = (1518,1)

Предположим, вам дано pd.dataframe с именами элементов F1...F15 и Ваша зависимая переменная Y равна F3, тогда вы можете разделить свои переменные следующим образом:

Y = df['F3']
X = df.drop('F3', axis=1)

Примечание: если вы в настоящее время используете массив numpy, вы легко можете обернуть это в фрейм данных, используя:

import pandas as pd
df = pd.DataFrame(np_array)
...