Python 套索如何用它来预测?

Python 套索如何用它来预测?,python,scikit-learn,Python,Scikit Learn,你能帮我回答以下问题吗 我使用Lasso构建了以下模型: 已经研究了文档 我的问题是-如果我想在构建的模型中使用x值3 000 000 000(例如)来预测y,我该如何做(我应该运行什么代码)?该模型需要一个值数组,而不是一个值,但您可以通过将其作为一个值数组传递来欺骗它。例如,对于单个值3500000.0 lassomodel.predict(np.array(3500000.0).重塑(-1,1))不清楚你在问什么。您已经在使用模型进行预测:lassomodel.predict(x)。您只

你能帮我回答以下问题吗

我使用Lasso构建了以下模型:

已经研究了文档


我的问题是-如果我想在构建的模型中使用x值3 000 000 000(例如)来预测y,我该如何做(我应该运行什么代码)?

该模型需要一个值数组,而不是一个值,但您可以通过将其作为一个值数组传递来欺骗它。例如,对于单个值
3500000.0


lassomodel.predict(np.array(3500000.0).重塑(-1,1))

不清楚你在问什么。您已经在使用模型进行预测:
lassomodel.predict(x)
。您只需在此处为
x
添加新数据以进行预测。如果我尝试lassomodel.predict(x)并使用x=3500000,我会得到以下错误:ValueError:预期的2D数组,而不是标量数组:array=3500000.0。使用数组重塑数据。如果数据具有单个特征或数组,则重塑(-1,1)。如果数据包含单个样本,则重塑(1,-1)。我的问题是,如果设置单个x值,如何获得单个y值?例如,如果我使用单反,我可以这样做:Sales_prediction=500000 NVL_pred=regr.coef_u*Sales_prediction+regr.intercept,以便根据Sales_prediction预测NVL_pred。我不知道怎么在这里做类似的事情。啊,我明白了。谢谢你的澄清。该模型需要一个值数组,而不是单个值,但您可以通过将其作为单个值数组传递来欺骗它。如何
np.array(3500000.0)。重塑(-1,1)
非常感谢!这正是我要找的!
lassomodel = PolynomialLasso(4)

x=dfs[['WSales']]

y=dfs[['DSales']]

lassomodel.fit(x, y)

X_lasso=np.linspace(0,4000000,100)[:, None]

y_lasso = lassomodel.predict(X_lasso)

mse=mean_squared_error(lassomodel.predict(x), y)

r2=r2_score(lassomodel.predict(x),y)

print ("Ridge Mean Square Error: ",mse)
print ("Ridge R2-score: ",r2 )
print('Mean absolute error: %.2f' % mean_absolute_error(lassomodel.predict(x), y))


print ("------------------------------------")
plt.plot(X_lasso.ravel(), y_lasso, color='C3',label='y_lasso')
plt.plot(x,y, 'ro', label='y', color='C1')

plt.xlabel(r'$x$')
plt.ylabel(r'$y$') 
plt.title(r'Linear Regression - 4.order polynomial') 
plt.legend()
plt.show()
Ridge Mean Square Error:  48063700655.292915
Ridge R2-score:  0.726828587296103
Mean absolute error: 165786.75