我想计算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)
不会返回任何内容。
我很高兴对无监督的随机森林分类及其准确度测量的每一个建议,改进或代码片段,...... 非常感谢!
答案 0 :(得分:2)
我认为您可以使用大样本进行无监督分类,然后使用创建监督分类模型(预测原始数据中的类;并且应该非常合适)并将其应用于整个数据集。