如何使用 R 执行无监督随机森林分类?

机器算法验证 r 分类 随机森林
2022-04-14 20:02:36

我正在使用 R 中的randomForestpredict包进行土地分类。对于每个 4 波段 CIR 图像,我在 GIS 中创建了训练数据,通过模型运行训练数据以生成 .csv,然后将其输入到 R 的randomForest算法中。我发现随机森林监督分类严重过度分类区域。事实上,我使用无监督 ISODATA 算法产生了更好的结果。

有没有办法用 R 中的 randomForest 包实现无监督分类? 我附上了一段我一直用来运行监督随机森林分类的​​代码。

myrf = randomForest(factor(category) ~ band1 + band2 + band3 + band4, data = intable, 
        ntree=2000,
        importance = TRUE)

predict(rasters, myrf, filename="RFtest7.img", type="response",
        index=1, na.rm=TRUE, progress="window", overwrite=TRUE)
2个回答

过度分类可能是由预测偏差引起的,这是规范 RF 方法的一个问题,并且已经研究了许多修改。可能减轻偏差的主要方法是利用随机分割阈值,有时称为“极端”随机森林。我不确定在 R 包中实现了哪种类型的 RF,但是当使用不平衡的分类数据集时,问题肯定会更加突出——通过获得多数票,森林会丢失有关票数平衡的信息,并且可以而且经常会给分类带来偏见。

在随机森林函数中,无需列出 ay ~ x 模型,只需输入您的预测矩阵。

randomforest 认为您想要运行监督分类,因为您将分类变量因子(类别)列为模型中的 y。