ValueError:x和y的大小必须相同,使用sklearn进行线性回归进行机器学习

时间:2018-11-25 05:29:59

标签: machine-learning multidimensional-array plot sparse-matrix linear-regression

首先,我进行了数据预处理,以将数据用作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和y的大小必须相同。然后,我进行了一次谷歌搜索,发现X_train_keras的形状不同于y_test_keras。我尝试使用[:,0],但仍然无法正常工作,有人可以帮我吗?

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

1 个答案:

答案 0 :(得分:0)

您的形状输出说明了这一点。 您的X_train有17330行 因此,如果您拉出第一列和所有行,即X_train_kera [:,0] 您有17330行和一列。 您的y_test_kera.shape为17331,这说明了尺寸不匹配的原因