多项式回归出现错误“形状 (18,17) 和 (1140,1) 不对齐:17 (dim 1) != 1140 (dim 0)”

我在数据框上使用多项式回归。这是代码

from sklearn.preprocessing import PolynomialFeaturesfrom sklearn import metricsfrom sklearn.metrics import mean_squared_errorfrom math import sqrtfrom sklearn.linear_model import LinearRegressionpoly_reg = PolynomialFeatures(3)lin_reg_2 = LinearRegression()iv_poly = poly_reg.fit_transform(X_train)poly_reg.fit(iv_poly, y_train)lin_reg_2.fit(iv_poly, y_train)predictValues = lin_reg_2.predict(X_test)print("RMSE is:-") print(np.sqrt(metrics.mean_squared_error(y_test, predictValues)))

错误:

ValueError                                Traceback (most recent call last)<ipython-input-4-a77f27b571a6> in <module>()    106     107 --> 108 predictValues = lin_reg_2.predict(X_test)    109 print("RMSE is:-")    110 print(np.sqrt(metrics.mean_squared_error(y_test, predictValues)))~\Anaconda3\lib\site-packages\sklearn\linear_model\base.py in predict(self, X)    254             Returns predicted values.    255         """--> 256         return self._decision_function(X)    257     258     _preprocess_data = staticmethod(_preprocess_data)~\Anaconda3\lib\site-packages\sklearn\linear_model\base.py in _decision_function(self, X)    239         X = check_array(X, accept_sparse=['csr', 'csc', 'coo'])    240         return safe_sparse_dot(X, self.coef_.T,--> 241                                dense_output=True) + self.intercept_    242     243     def predict(self, X):~\Anaconda3\lib\site-packages\sklearn\utils\extmath.py in safe_sparse_dot(a, b, dense_output)    138         return ret    139     else:--> 140         return np.dot(a, b)    141     142 ValueError: shapes (18,17) and (1140,1) not aligned: 17 (dim 1) != 1140 (dim 0)

我使用了线性回归,没有出现任何错误,并且成功计算了RMSE,但是应用多项式回归时,它出现了错误


回答:

你没有转换 X_test

iv_poly_test = poly_reg.transform(X_test)lin_reg_2.predict(iv_poly_test)

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注