【发布时间】:2018-07-30 15:31:08
【问题描述】:
我有一个数据集,我想对样本进行分层,使用 caret 包创建统计模型,然后生成预测。
我发现的问题是,在分层数据集的不同迭代中,我得到了显着不同的结果(这可能部分是由于数据样本相对较小 M=1000)。
我想做的是:
- 生成分层数据样本
- 创建机器学习模型
- 重复
1000次并取平均模型输出
我希望通过对分层数据集的变化重复这些步骤,我能够避免由于数据样本较小而产生的预测的细微变化。
例如,它在 r 中可能看起来像这样;
Original.Dataset = data.frame(A)
Stratified.Dataset = stratified(Original.Dataset, group = x)
Model = train(Stratified.Dataset.....other model inputs)
Repeat process with new stratified data set based on the original data and average out.
提前感谢您提供的任何帮助或可能有用的打包建议。是否可以在插入符号中对样本进行分层或在插入符号中进行模拟?
【问题讨论】:
-
The problem I am finding is that in different iterations of the stratified data set I get significantly different results是什么意思? -
例如,如果我执行 set.seed(1) 并创建数据集并运行分析。然后我重复执行 set.seed(2),创建数据集并运行完全相同的分析。我的预测明显不同。我想做的是通过多次对分层样本进行分析来汇总结果,以“平滑”这些差异。
-
@JackFahey-Gilmour 您所描述的是集成学习,尤其是随机森林。其核心是您的结果在每次采样迭代中都会显着不同。这就是集成模型与生俱来的力量的来源。请特别阅读集成学习或随机森林,事情对你来说会更清楚。你的问题现在太宽泛了。
标签: r machine-learning simulation r-caret sampling