我不使用 Python,所以我无法确切告诉您发生了什么,但我快速查看了您的数据:

几点说明:
- 看起来绝大多数点都是通过插值人工创建的。为什么不呢,但这不太可能反映价格变化的现实:我预计汽车价格的真实数据集中会有更多的变化/噪音。
- 无论如何都不需要向数据集添加这么多点。有了所有这些数据,甚至不需要训练模型,因为几乎所有可能的实例都已经在数据中了。
- 在我看来,预测年份有些奇怪:通常预测年份越高,价格下跌的越多,对吧?这里第 0 年完全没有减少,第 1 年的减少幅度最大,...,第 4 年几乎没有减少。这可能会混淆模型。
- 因为它主要是一个人工数据集,所以关系非常简单:基本回归
future_price = past_price * a + b已经给出了很好的结果,并且在添加prediction_year特征时可以完美地学习关系。至少 MLP 和随机森林应该给出近乎完美的结果。
- 通过快速查看代码,我怀疑问题与缩放有关。我不确定那里应该发生什么,因为我不熟悉这些功能:可能是预测值最后需要“未缩放”?无论如何,我认为这里根本不需要缩放它。
为了记录,图表是用 R 完成的,如下所示:
library(ggplot2)
d<-read.table('interpolated_dataframe.csv',sep=',',header=TRUE)
ggplot(d,aes(past_price,future_price,colour=factor(prediction_year)))+geom_point()