首页 > 解决方案 > 线性回归返回大 x 值的不良拟合

问题描述

我正在寻求进行线性回归以确定特定资源的估计消耗日期。我有一个数据集,其中包含一列日期和几列数据,并且总是递减。使用 scikit learn 的 LinearRegression() 函数的线性回归会产生不好的拟合。

我将日期列转换为序数,结果值约为 700,000。相对于 0-200 之间的值的 y 轴,这是相当大的。我想回归函数从低值开始并逐渐上升,最终在找到足够好的拟合之前放弃。如果我可以为参数分配起始值,大截距和小斜率,也许它会解决问题。我不知道该怎么做,我对其他解决方案很好奇。

这是一些数据的链接 - https://pastebin.com/BKpeZGmN

这是我当前的代码

model=LinearRegression().fit(dates,y)
model.score(dates,y)

y_pred=model.predict(dates)

plt.scatter(dates,y)
plt.plot(dates,y_pred,color='red')
plt.show()

print(model.intercept_)
print(model.coef_) 

这段代码在数据上绘制了线性模型,产生了惊人的不准确性。我会在这篇文章中分享,但我不知道如何从我的桌面发布图像。

我的原始数据是日期,我在此处未共享的代码中转换为序数。如果有更简单的方法可以更准确地执行此操作,我将不胜感激。

谢谢,威尔

标签: linear-regression

解决方案


推荐阅读