鉴于其功能,我正在制作一个预测汽车价格的项目。我能够抓取超过 13000 个示例。在清理和处理数据之后,我留下了超过 11000 个示例,我使用了汽车的 12 个特征,比如里程、年份、品牌和所有其他重要的东西。模型选择后,我决定使用随机森林来预测模型。有几个问题让我很感兴趣:
1)调整模型时,我能在测试集上得到的最好是平均绝对误差超过 2200。R_2 得分为 0.92,训练集误差为 900-1000。R_2 得分为 0.98 我无法消除这种过度拟合,如果是,我认为是这样。我尝试使用不同的参数对 bagging、森林甚至提升进行网格搜索(我知道它减少了偏差,而不是方差,但我很绝望),但是具有最佳参数的测试误差和训练误差始终大致相同。我也使用了简单的估计器,但它们在训练和测试中存在太多偏差。我知道有一种方法可以摆脱这种过度拟合,只要我有更多数据,但这些数据是我可以从我抓取的页面中获得的最大数据。所以第一个问题是:是否存在没有适当的大数据集就无法解决过拟合的情况?我被困在这种情况下吗?
2)第二个可选问题是:数据中的一些特征是分类的,所以在创建虚拟变量之后,我有大约 120 个特征。有趣的是,在我对 PCA 需要的缩放之后,我使用任意 n_components 保留的方差与我从仅在连续特征上而不是在虚拟上缩放的数据中保留的方差完全不同。我知道缩放虚拟变量没有意义,而且不是少数。但是在缩放虚拟变量之后,为了保留 99% 的方差,我需要大约 110 个特征(最初是 120 个),在缩放连续特征之后,为了保留 99% 的方差,我需要不到一半的特征(~55 )。这对我来说很奇怪,我无法理解这种行为,完全可以吗?