使用python sklearn预测测试值时出现问题

2024-09-27 21:34:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了一个代码来预测Y值,X和Y是相同长度的数组

from sklearn.linear_model import Ridge
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import make_pipeline

plt.scatter(X,Y,1)
regr2 = make_pipeline(PolynomialFeatures(10), Ridge())
regr2 =regr2.fit(X[:,np.newaxis], Y)
y_pred=regr2.predict(X[:,np.newaxis])
plt.plot(X, y_pred, color='red')
plt.show()

这是一个很好的近似值 但是当我用测试值和训练值来做的时候,它显示了一个指数,当我绘制它时,它不应该这样做。你知道吗

实际上,yu pred1是xu测试加上一个小的十进制数

plt.scatter(X_test,Y_test,1)

X_train=X[0:int(0.8*len(X))]
X_test=X[int(0.8*len(X)):]
Y_train=Y[0:int(0.8*len(X))]
Y_test=Y[int(0.8*len(X)):]

regr3 = make_pipeline(PolynomialFeatures(10), Ridge())
regr3 =regr3.fit(X_train[:,np.newaxis], Y_train)
y_pred1=regr3.predict(X_test[:,np.newaxis])
plt.plot(X_test, y_pred1, color='red')
plt.show()

我尝试了几件事,甚至用序列值来测试预测,在这个例子中,它也绘制了一个指数而不是点的近似值。你知道吗

提前谢谢!你知道吗


Tags: fromtestimportlenpipelinenptrainplt

热门问题