楼主: yaoqsm321
57201 80

[问答] 随机森林过拟合问题,在训练集上表现很好,在测试集上的表现很差 [推广有奖]

11
yaoqsm321 发表于 2016-12-8 14:53:21
jgchen1966 发表于 2016-12-8 13:38
当然,你愿承担由此带来的“模型风险”,没人会反对的!!!
做了这么多,感觉没有什么完美的模型可以完全把两类分开

12
jameschin007 发表于 2016-12-8 17:51:42
yaoqsm321 发表于 2016-12-8 11:44
我知道有些算法要求数据符合正态分布或者独立同分布,但是实际数据中很少会有符合这些条件的。但就算不符 ...
你这个跟同不同分布没关系。 一个数据集里随机分出来的。应该是同一个分布。

13
jameschin007 发表于 2016-12-8 18:14:53
yaoqsm321 发表于 2016-12-8 11:43
对测试集的运行结果如下,效果不是太好
prediction   0   1
         0   1   3
按照你的数据, 应该有908个好例子,在测试集中。 为什么839 显示?

你用mtry 默认值做过模型,试试先。
如果你非要优化,mtry,  用tuneRF 方法。  自己看看help文件。
你确定mtry的方法,太粗暴,必然会导致过拟。 300棵太少。 最少500起。
原则上, RF是最不会产生过拟的算法了。

14
yaoqsm321 发表于 2016-12-9 09:01:29
jameschin007 发表于 2016-12-8 18:14
按照你的数据, 应该有908个好例子,在测试集中。 为什么839 显示?

你用mtry 默认值做过模型,试试先 ...
我会说我手动设置了很多次mtry的值,都不太理想,从2开始,一直到了45(总共45个自变量)。默认的我也试了,效果不好。

15
jameschin007 发表于 2016-12-9 14:02:39
3
4
5
6
7
8
9
10
11
12
# load the library
library(caret)
# load the iris dataset
data(iris)
# define training control
train_control <- trainControl(method="cv", number=10)
# fix the parameters of the algorithm

# train the model
model <- train(Species~., data=iris, trControl=train_control, method="nb")
# summarize results
print(model)

把method 改成 randomForest 就行了。 你可以试试

16
yaoqsm321 发表于 2016-12-9 17:15:31
jameschin007 发表于 2016-12-9 14:02
3
4
5
这段代码是不是加载我的那段代码后边就行了?
还有个问题,就是我用决策树来建模,决策树会自动选择变量来建模,结果是树画出来只有三个变量有用,其他的变量都没有用上,怎么才能让决策树用全部变量来建模?

17
jgchen1966 发表于 2016-12-9 19:47:05
jameschin007 发表于 2016-12-8 17:51
你这个跟同不同分布没关系。 一个数据集里随机分出来的。应该是同一个分布。
不作样本的预测是,是可以这样认为,计量经济学基本是这样做的,经五十年挣扎,现基本承认,计量经济学无法预测经学未来,现计量经济学主要作“不可实证‘的经济因子效应”计量“!!!发表论文,挺好!!!做公司经营与投资,是很危险的!!!

18
jgchen1966 发表于 2016-12-9 19:48:11
jameschin007 发表于 2016-12-8 17:51
你这个跟同不同分布没关系。 一个数据集里随机分出来的。应该是同一个分布。
不作样本外的预测是,是可以这样认为。计量经济学基本是这样做的,经五十多年挣扎,现基本承认,计量经济学无法预测经济未来,现计量经济学主要作“不可实证‘的经济因子效应”计量“!!!发表论文,挺好!!!做公司经营与投资,是很危险的!!!

19
jgchen1966 发表于 2016-12-9 19:55:58
推荐一篇论文,此文作者是 R 包 rminer的开发者!!此文的数据挖掘结果,很好!!但经本人,仔细分析其原数据后,在实战中不可用!!因为,作者完全忽视数据中严重的不可重复的依赖性,即违背 I.I.D统计学习假设!!!!

20
jgchen1966 发表于 2016-12-9 21:12:53
jgchen1966 发表于 2016-12-9 19:55
推荐一篇论文,此文作者是 R 包 rminer的开发者!!此文的数据挖掘结果,很好!!但经本人,仔细分析其原数 ...
比较该文 的Table 3 和Table 5:
在Table 3 (仅仅用training  和 validation集数据)最好AUC= 0.929,
在Table 5 (for the rolling windows phase)  最好 AUC = 0.794 .  

   如果,处理除去数据中”不可重复的依赖性“,两者几乎相同(:
    用SVM ,AUC=0.68,   用randomForest ,  AUC=0.73 (初步结果,因为能找到的原数据信息也不足,预处理不是很完全)。。达不到实战可用的标准!!!
   

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

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