我正在处理与集群相关的数据(个人嵌套在家庭中)。我想修改引导采样过程以制作家庭级引导而不是主题级引导。
我的目标是确保整个家庭都包含在用于种植森林每棵树的样本中。我正在使用 R 包“randomForest”。
我正在处理与集群相关的数据(个人嵌套在家庭中)。我想修改引导采样过程以制作家庭级引导而不是主题级引导。
我的目标是确保整个家庭都包含在用于种植森林每棵树的样本中。我正在使用 R 包“randomForest”。
您的问题似乎在“通过 RF++ 分析聚类相关数据的基于随机森林的分类器的内省比较”一文中得到解决,请点击此处。这些作者通过“主题级引导”解决了这个问题。他们编写了自己的软件,但我没有使用过(所以我不能保证),最后一次更新是在 2009 年。我会觉得自己编写引导代码并使用维护良好的随机森林包会更舒服。
如果您想使用 R,您可以编写自己的代码来引导主题级别的采样并replace=FALSE
在 randomForest 函数中设置参数。样本家庭 ID(有替换),然后在每个家庭中包括所有个人。使用该训练数据构建一个 RF,并使用该 RF 来预测来自非抽样家庭的个人的价值。重复整个过程 10 次左右,以便每个人都有几个 RF 预测,并将所有这些组合成一个预测。这似乎是上述论文中采用的一般方法。
您是否考虑过使用 R 包“随机森林”中的 strata 和 sampsize 参数?您可以在分层参数中指定住户。
这是从 randomForest 包的 R 文档中复制的:
strata:用于分层抽样的(因子)变量。
sampsize:要绘制的样本大小。对于分类,如果sampsize是一个长度为层数的向量,那么抽样是按层分层的,sampsize的元素表示要从层中抽取的数量。