使用单个预测指标“ x1”的OLS线性回归,我无法解释Y-的变化 - 因此,我试图使用回归森林(即随机森林回归)找到其他重要特征。后来发现选定的“ X1”是最重要的功能。 我的数据集有〜14500个条目。我将其分为训练和测试集,比率为9:1。 我有以下问题:

问题描述 投票:0回答:1

一旦找到重要的功能,是否应该使用前几个功能重新构建模型,以查看功能选择是否以较小的预测能力成本加快计算加速?

现在,我已经使用训练集和所有功能构建了模型,并且我正在使用它来预测测试集。我正在计算训练集中的MSE和R平方。我在培训数据上获得了高MSE和低R2,并反向测试数据(如下所示)。这是不寻常的吗?

> forest <- randomForest(fmla, dTraining, ntree=501, importance=T) > mean((dTraining$y - predict(forest, data=dTraining))^2) > > 0.9371891 > rSquared(dTraining$y, dTraining$y - predict(forest, data=dTraining)) > > 0.7431078 > mean((dTest$y - predict(forest, newdata=dTest))^2) > > 0.009771256 > rSquared(dTest$y, dTest$y - predict(forest, newdata=dTest)) > > 0.9950448
  1. 任何建议,如果R平方和MSE是此问题的好指标,或者我需要查看其他一些指标来评估该模型是否好吗?

    您还应该尝试
  2. Cross Validated
  3. 试图找到重要功能时,我应该在整个数据集上运行回归森林,还是在培训数据上运行回归森林?
  4. 仅在培训数据上。您想防止过度拟合,这就是为什么您首先进行火车测试拆分的原因。
  5. 一旦找到重要的功能,是否应该使用前几个功能重新构建模型,以查看功能选择是否以较小的预测能力成本加快计算加速?

  6. 是的,但是特征选择的目的不一定是
speed up computation
。借助无限的功能,可以拟合任何数据模式(即过拟合)。通过功能选择,您希望仅使用几个“强大”功能来防止过度拟合。 

现在,我已经使用训练集和所有功能构建了模型,并且我正在使用它来预测测试集。我正在计算训练集中的MSE和R平方。我在培训数据上获得了高MSE和低R2,并反向测试数据(如下所示)。 Is this unusual?
r machine-learning regression random-forest feature-selection
1个回答
0
投票

Yes, it's unusual.您需要训练

和测试数据的低MSE和高R2值。 (我会仔细检查您的计算。)如果您使用培训数据获得了高MSE和Low R2,则意味着您的培训很差,这非常令人惊讶。另外,我还没有使用
rSquared,但也许你想要rSquared(dTest$y, predict(forest, newdata=dTest))

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.