显示值错误:形状 (1,2) 和 (3,1) 未对齐:2(暗淡 1)!= 3(暗淡 0)



我正在尝试运行此代码,并且预测模型(predictions = model.predict(y1))显示标题中建议的错误。我是该地区的新手,感谢任何帮助?

from sklearn import linear_model
regr = linear_model.LinearRegression()
import seaborn as seabornInstance 
from sklearn.model_selection import train_test_split 
from sklearn import metrics

x1 = np.asanyarray(train[['MachineAvailability','StatNumIn','MachineMTTR']])
y1 = np.asanyarray(train[['StatNumOut']])
regr.fit (x1, y1)
# The coefficients
print ('Coefficients: ', regr.coef_)
print('Intercept: n', regr.intercept_)
y_hat= regr.predict(test[['MachineAvailability','StatNumIn','MachineMTTR']])
x = np.asanyarray(test[['MachineAvailability','StatNumIn','MachineMTTR']])
y = np.asanyarray(test[['StatNumOut']])
print("Residual sum of squares: %.2f"
% np.mean((y_hat - y) ** 2))
# Explained variance score: 1 is perfect prediction
print('Variance score: %.2f' % regr.score(x, y))
import tkinter as tk 
import statsmodels.api as sm
from sklearn.decomposition import PCA
X = sm.add_constant(x1) # adding a constant
model = sm.OLS(x1, y1).fit()
predictions = model.predict(y1) 
# prediction with sklearn
New_MachineAvailability = 90
#New_StatNumIn = 90
New_MachineMTTR = 20
print ('Predicted Production: n', regr.predict([[New_MachineMTTR,New_MachineAvailability ]]))

该错误告诉您所有需要知道的事情:predict函数的输入形状与预期不匹配。

您已经在形状为x1的输入数据上训练了模型,例如(n, k),其中n是行数(轴 0)和k列数(轴 1)。这意味着predict函数的输入必须在列数方面与预期的形状匹配,即(m, k).可以有任意数量的行(没关系,只是样本数),但k列数相同。

在您的情况下,您使用y1运行predict,这是模型的标签(目标)。它有不同的形状,可能不是你的意思。如果你通过x1它会起作用,但没有什么意义 -x1你的训练数据。您应该留出一些数据进行测试,例如x2,您可以在其中运行预测并评估模型的性能。

最新更新