R 光栅/预测函数返回的结果低于训练样本范围

R 光栅/预测函数返回的结果低于训练样本范围,r,geospatial,random-forest,raster,geography,R,Geospatial,Random Forest,Raster,Geography,我正在使用“预测”(光栅包)功能对陆地卫星TOA层上的农田进行分类。使用的分类模型是随机森林(回归)。训练因变量只有两个值:0和1,因此,我希望预测值在范围[0,1]内。然而,我得到了预测的负值。这正常吗?或者我该换什么?。代码如下: ras <- brick("TOA_imagery_2018.tif"); sam <- read.csv("sample.csv"); sam$cropland[sam$cropland == 2] <- 0;

我正在使用“预测”(光栅包)功能对陆地卫星TOA层上的农田进行分类。使用的分类模型是随机森林(回归)。训练因变量只有两个值:0和1,因此,我希望预测值在范围[0,1]内。然而,我得到了预测的负值。这正常吗?或者我该换什么?。代码如下:

    ras <- brick("TOA_imagery_2018.tif");
    sam <- read.csv("sample.csv");
    sam$cropland[sam$cropland == 2] <- 0;
    type <- 'classification'  # 'regression', 'classification'
    if (type=='classification'){
       sam$cropland<-as.factor(sam$cropland) # else, nothing
    }
    mr <- randomForest(cropland ~ B1 + B2 + B3 + B4 + B5+ B6 + B7 + elevation + ndvi + evi, data = sam, ntree=100, type=type)
    cla <- predict(ras, mr, "result.tif")

ras不应该有负值。检查“农田”列中的值,确保它们都是0或1。如果是,您应该使您的数据或数据的子集可用,以便对其进行测试


我本想发表评论,但我没有代表。

是的,请共享您的数据或子集,以便我们可以尝试复制