多项式回归中的负预测

3

我正在尝试每周预测一个值。我有4个月的数据,实际值在周末接近零,但从不为负数。我的多项式回归模型在工作日的预测表现良好,但当实际值接近零时,会出现严重偏差。如何进行修正?

poly = PolynomialFeatures(degree=2)
X_ = poly.fit_transform(X)
predict_ = poly.fit_transform(predict)

clf = linear_model.LinearRegression()
clf.fit(X_, vector)
print clf.predict(predict_)

当拟合多项式时,特别是在度数>1的情况下,可能会发生这种情况。您可以尝试使用其他类型的回归方法,如卡尔曼滤波器或样条函数。 - oseiskar
1
我尝试了许多方法,但这种方法比其他方法预测得更好。 - Dexter
另一种可能性是先将数据转换为对数刻度(或log1p),然后进行回归,然后再进行反向转换。这样就不会得到负值了。 - oseiskar
我正在使用onehot编码器来转换我的特征。我应该只在y(实际值)上使用对数吗? - Dexter
1个回答

0

你只需要使用多项式回归对象对测试或预测数据集进行转换,而不是拟合它们。该对象已经用于拟合和转换训练数据。

predict_ = poly.transform(predict)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接