ValueError: x и y должны быть одинакового размера, машинное обучение с использованием sklearn делает линейную регрессию - PullRequest
0 голосов
/ 25 ноября 2018

Во-первых, я выполнил предварительную обработку данных, чтобы преобразовать данные в разреженную матрицу, используя в качестве X, а Y - список меток.Затем я применил машинное обучение

X_train_kera, X_test_kera, y_train_kera, y_test_kera = train_test_split(disc_vec_tfidf, y_keras, test_size=0.5)

from sklearn.linear_model import LinearRegression
cls = LinearRegression()
cls.fit(X_train_kera,y_train_kera)

Затем я попытался построить график линейной регрессии

plt.scatter(X_train_kera[:,0],y_test_kera,color='black')
plt.plot(X_train_kera[:,0], y_pred, color='blue')

plt.xticks(())
plt.yticks(())

plt.show()

И это дает мне ошибку говорит, что х и у должны быть одинакового размера.Затем я немного погуглил и обнаружил, что форма X_train_keras отличается от формы y_test_keras.Я пытался использовать [:, 0], но он все еще не работал, может кто-нибудь помочь мне с этим?

 X_train_kera.shape
(17330, 2746))
y_test_kera.shape
(17331,)

1 Ответ

0 голосов
/ 25 ноября 2018

Ваш вывод с формой объясняет это.Ваш X_train имеет 17330 строк, поэтому, если вы вытащите первый столбец и все строки, т.е. X_train_kera [:, 0], у вас будет 17330 строк и один столбец.Ваш y_test_kera.shape - 17331, что объясняет, почему существует несоответствие размеров

...