【发布时间】:2014-05-28 17:57:25
【问题描述】:
我正在使用随机森林分类器(在 R 中)使用各种环境变量作为预测因子来预测多个原生植物群落的空间分布。这个分类系统是分层的,每个连续的级别在其类描述中变得更加详细。例如,我有一个有 2 个级别的层次分类系统,最上层由两个类组成:森林 (F) 和草地 (G)。假设对于第二级,每个森林和草原类由 2 个子类(F1、F2 和 G1、G2)组成。例如,使用 Forest 类,子类可能是针叶林或落叶林。
到目前为止,我知道这是非常基本的,但这是我遇到的挑战。我想以最好的分类级别预测这些类的空间分布,但是环境变化太多,无法以可接受的精度进行此操作。为了减少这种可变性,我可以训练多个随机森林模型,其中第一个模型(模型 #1)在最高级别运行,将观察结果分类为 F 或 G。在第二个级别,根据 F/G 类将数据子集分为两组并训练两个模型(模型 #2 和 #3),每个模型将一个子集分类为各自的子类。
使用这些堆叠模型,我可以预测新观察的类别概率。使用随机森林,该值是为特定类别投票的树数除以森林中的树数。对于一个新的观察,总结的随机森林输出可能是:
1 级(模型 #1)
- F, G = 80, 20
2 级(型号 #2 和 #3)
- F1、F2 = 80、20
- G1, G2 = 70, 30
输出表明这个新观察结果很可能是具有 F1 子类的 Forest,但我对 F1 是正确类的信心有多大?
我的问题首先是,在这种建模结构下,是否有合适的方法来计算这个新观察结果实际上是 F1 的组合概率?其次,如果合适的话,怎么做? (我怀疑某种使用高级概率作为先验的贝叶斯方法可能会奏效,但我远非精通贝叶斯统计)。
我为我的冗长和没有发布实际数据/代码道歉(鉴于我的数据集,很难提取既简洁又能代表我的问题的内容)。谢谢!
【问题讨论】:
标签: r classification bayesian random-forest