Как исправить склеар множественной линейной регрессии ValueError в python (несовместимое количество образцов: [2, 1]) - PullRequest
0 голосов
/ 31 декабря 2018

Моя линейная регрессия отлично работала с одной функцией.С тех пор, как я попытался использовать два, я получаю следующую ошибку: ValueError: Найдены входные переменные с непоследовательным числом образцов: [2, 1]

Первый оператор print печатает следующее: (2, 6497) (1, 6497)

Затем происходит сбой кода на этапе train_test_split.

Есть идеи?

feat_scores = {}
X = df[['alcohol','density']].values.reshape(2,-1)   
y = df['quality'].values.reshape(1,-1)

print (X.shape, y.shape)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

print (X_train.shape, y_train.shape)
print (X_test.shape, y_test.shape)

reg = LinearRegression()
reg.fit(X_train, y_train)

reg.predict(y_train)

1 Ответ

0 голосов
/ 31 декабря 2018

Вы пропустили в этой строке

X = df[['alcohol','density']].values.reshape(2,-1)   
y = df['quality'].values.reshape(1,-1)

Не преобразуйте данные в (2, 6497) (1, 6497) , вместо этого вы должны указать их как (6497,2) (6497,)

Sklearn принимает кадры данных / серии напрямую.так что вы могли бы дать,

X = df[['alcohol','density']]
y = df['quality']

Кроме того, вы можете прогнозировать только с помощью значений X, следовательно

reg.predict(X_train)

или

reg.predict(X_test)
...