2

我想从 R 中的栅格堆栈中计算出无监督的随机森林分类。栅格堆栈在不同的光谱带中表示相同的范围,因此我想获得堆栈的无监督分类。我的代码有问题,因为我的数据非常庞大。是否可以将堆栈转换为数据帧以便像这样运行随机森林算法:

stack_median <- stack(b1_mosaic_median, b2_mosaic_median, b3_mosaic_median, b4_mosaic_median, b5_mosaic_median, b7_mosaic_median)
stack_median_df <- as.data.frame(stack_median)

这是 csv 文件形式的数据(https://www.dropbox.com/s/gkaryusnet46f0i/stack_median_df.csv?dl=0) - 您可以通过以下方式读取它:

stack_median_df<-read.csv(file="stack_median_df.csv")
stack_median_df<-stack_median_df[,-1]
stack_median_df_na <- na.omit(stack_median_df)

我的下一步将是无监督分类:

median_rf <- randomForest(stack_median_df_na, importance=TRUE, proximity=FALSE, ntree=500, type=unsupervised, forest=NULL)

由于我的数据集庞大,无法计算邻近度度量(大约需要 6000GB)。你知道怎么才能看分类吗?作为predict(median_rf)并且plot(median_rf)不返回任何东西。

我很高兴看到无监督随机森林分类及其准确性措施的每一个建议、改进或代码片段,...非常感谢!

4

1 回答 1

2

我认为您可以使用大样本进行无监督分类,然后使用创建监督分类模型(从原始数据预测类别;并且应该非常适合)并将其应用于整个数据集。

于 2015-03-03T23:12:54.920 回答