首页 文章

R中回归林的特征选择和预测精度

提问于
浏览
0

我试图解决输入特征集大小为54的回归问题 .

使用具有单个预测器'X1'的OLS线性回归,我无法解释Y的变化 - 因此我试图使用回归森林(即,随机森林回归)找到其他重要特征 . 之后发现所选的“X1”是最重要的特征 .

我的数据集有大约14500个条目 . 我把它分为训练和测试集,比例为9: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

请建议 . 任何建议,如果R平方和MSE是这个问题的良好指标,或者我是否需要查看其他一些指标来评估模型是否良好?

1 回答

  • 0

    你也应该试试 Cross Validated here

    在尝试查找重要功能时,我应该在整个数据集上运行回归林,还是只运行训练数据?

    仅限于培训数据 . 您希望防止过度拟合,这就是您首先进行列车测试分割的原因 .

    一旦发现重要特征,是否应使用前几个特征重建模型,以确定特征选择是否能够以较低的成本加速计算以达到预测能力?

    是的,但功能选择的目的不一定是 speed up computation . 利用无限的特征,可以适合任何数据模式(即,过度拟合) . 通过功能选择,您可以获得're hoping to prevent overfitting by using only a few '强大的功能 .

    目前,我使用训练集和所有功能构建了模型,我将其用于测试集的预测 . 我正在计算训练集中的MSE和R平方 . 我在训练数据上获得高MSE和低R2,并且在测试数据上反向(如下所示) . 这不寻常吗?

    是的,这很不寻常 . 您需要训练和测试数据的低MSE和高R2值 . (我会仔细检查你的计算 . )如果你're getting high MSE and low R2 with your training data, it means your training was poor, which is very surprising. Also, I haven'吨使用 rSquared 但也许你想要 rSquared(dTest$y, predict(forest, newdata=dTest))

相关问题