Функция растр / прогноз возвращает результаты ниже диапазона обучающей выборки

Я использую функцию «прогноз» (пакет Raster) для классификации присутствия пахотных земель по слою Landsat 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")

Спасибо за любую помощь


person pochoab ECU    schedule 19.11.2019    source источник
comment
Да, пожалуйста, поделитесь своими данными или подмножеством, чтобы мы могли попытаться воспроизвести   -  person ThetaFC    schedule 20.12.2019


Ответы (1)


У вас не должно быть отрицательных значений. Проверьте значения в столбце «Пахотные земли», чтобы убедиться, что все они равны 0 или 1. Если да, вы должны сделать свои данные или их часть доступными, чтобы их можно было проверить.

Я бы опубликовал этот комментарий, но у меня нет репутации.

person Walshe_d    schedule 20.12.2019