楼主: WJJJW1997
13104 14

[实际应用] 随机森林回归拟合过程出现过拟合 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

小学生

57%

还不是VIP/贵宾

-

威望
0
论坛币
5 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
39 点
帖子
4
精华
0
在线时间
11 小时
注册时间
2018-3-27
最后登录
2019-1-17

楼主
WJJJW1997 发表于 2018-11-19 21:25:32 |AI写论文
5论坛币
在随机森林拟合的过程中,自己的自变量有四个,因变量只有一个。数据噪声的处理我用3倍标准差删除一部分,之后用600个数据的90%作为训练样本,10%的作为实际样本,自己尝试过多次后,发现训练样本的R2一直在0.85,而验证样本R2都只有0.5几,高的也就0.6几,1.我们是不可以说这个结果出现了过拟合 ,随机森林一直吹嘘不是没有过拟合吗? 会不会是因为数据不独立同分布?2、我尝试了使用十折验证去计算总体的R方,结果在0.36,大跌眼镜,此外有帖子说随机森林不需要交叉验证,因为有将近1/e的数据没有被用到,那么十折验证的解释怎么回事呢?有没有大神能解惑一下啊。mymodel <- train(as.data.frame(traindata[, c("xa","xb","xc","xd")]),as.vector(as.matrix(traindata[,"y"])),method = "rf", num.trees=500)


最佳答案

jgchen1966 查看完整内容

randomForest 用bootstrap ,抽取ntree 个 同原train样本相同大小的随机样本,用回归分类树(似类rpart中的),合成ntree 个树.. 然后,每棵树对每个test样本中计算y 的预测值。共有ntree个预测值。。 对回归,简单平均 。。对分类,多数胜制投票法。。 具体,请阅读相关文献。尤其原作者LEO BREIMAN ,Random Forests,Machine Learning, 45, 5–32, 2001 百度学术上可查到,并免费下载。。。。
关键词:独立同分布 随机森林 训练样本 交叉验证 数据噪声 随机森林;OOB error 交叉验证 过拟合

回帖推荐

jgchen1966 发表于8楼  查看完整内容

在出现不良结果,你是怀疑randomForest ,却不怀疑数据集有问题。。 不信任一种机器学习算法,其实,不该去用它,尤其象黑箱式的,如randomForest ,SVM,gbm、deeplearning等。 因为,它们没法确切地告诉你,结果如何出来的。。 用象黑箱式的,如randomForest ,SVM,gbm、deeplearning等,机器学习算法,要有”无知论“的哲学态度,否则真没法去用。。

沙发
jgchen1966 发表于 2018-11-19 21:25:33
WJJJW1997 发表于 2018-11-21 10:51
您好,我还想问一下关于随机森林回归,网上一直没有清楚的解释,它输出的是所有决策树的平均值,那么它是 ...
randomForest 用bootstrap ,抽取ntree 个 同原train样本相同大小的随机样本,用回归分类树(似类rpart中的),合成ntree 个树..  然后,每棵树对每个test样本中计算y 的预测值。共有ntree个预测值。。
对回归,简单平均 。。对分类,多数胜制投票法。。
具体,请阅读相关文献。尤其原作者LEO BREIMAN  ,Random Forests,Machine Learning, 45, 5–32, 2001
  百度学术上可查到,并免费下载。。。。

藤椅
jgchen1966 发表于 2018-11-19 22:30:49
只能说明,你的数据集中,自变量太少,可能缺重要的。并由此,数据点相互并不独立,各数据点的概率分布也不同
因此,数据集就不符合,随机森林的可能唯一的假设:(条件)I.I.D假设。
其实,这种结果,恰恰可以用来量化数据集之以上问题。。
这也是,随机森林,一个不错的应用!!!!

板凳
jgchen1966 发表于 2018-11-19 22:36:54
jgchen1966 发表于 2018-11-19 22:30
只能说明,你的数据集中,自变量太少,可能缺重要的。并由此,数据点相互并不独立,各数据点的概率分布也不 ...
比如,观察对象很多的面板数据。。
  在面板回归中,采用随机效应模型,可恰当的观察对象的效应。。但随机森林中,不宜将观察对象,以“因子变量”,来考虑。一是太多,二是培训集中可能没有未来会出现的观察对象。。
  在随机森林中,如何考虑“观察对象的效应”??  不考虑,就违背“I.I.D”。。。。。

报纸
jgchen1966 发表于 2018-11-19 22:48:30
当然,也该 用其他机器学习算法,如线性回归,SVM,GBM 等试试。。再来下结论。。
因为,也有数据集,随机森林结果,不佳的!!

地板
WJJJW1997 发表于 2018-11-20 13:25:12
您的意思是对数据的I.I.D验证发现不独立分布,那么这个结论就是错的?那第二个问题呢?十折验证怎么解释

7
jgchen1966 发表于 2018-11-20 17:01:52
WJJJW1997 发表于 2018-11-20 13:25
您的意思是对数据的I.I.D验证发现不独立分布,那么这个结论就是错的?那第二个问题呢?十折验证怎么解释
10-CV结果,说明,此数据集,没啥子 可学的结构性信息。。
其实,也说明,用培训集的结果“过拟(overfitting)", 没法推广至测试集。
绘绘Scatterplot,再用 glm 验正一下。。
因只有四个自变量,也很容易 用散布点图验证。。。

8
jgchen1966 发表于 2018-11-20 17:06:53
jgchen1966 发表于 2018-11-20 17:01
10-CV结果,说明,此数据集,没啥子 可学的结构性信息。。
其实,也说明,用培训集的结果“过拟(overfi ...
10CV 结果,恰恰 验证培训集与测试集之间结果相差甚大之结果,也说明其原因。

9
jgchen1966 发表于 2018-11-20 17:16:16
jgchen1966 发表于 2018-11-20 17:06
10CV 结果,恰恰 验证培训集与测试集之间结果相差甚大之结果,也说明其原因。
     在出现不良结果,你是怀疑randomForest ,却不怀疑数据集有问题。。
     不信任一种机器学习算法,其实,不该去用它,尤其象黑箱式的,如randomForest ,SVM,gbm、deeplearning等。  因为,它们没法确切地告诉你,结果如何出来的。。
    用象黑箱式的,如randomForest ,SVM,gbm、deeplearning等,机器学习算法,要有”无知论“的哲学态度,否则真没法去用。。

10
jgchen1966 发表于 2018-11-20 17:43:04
randomForest 实际没有可调的”参数“,象mtry , ntree 等均可事前固定,困此,是一个适应性强、强健、可靠的数据学习机器。。任何回归、分类等数据学习任务,均可用它试试,瞧瞧,数据是否有可学的结构或信息。。。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 14:00