Я новичок в R. И у меня уже есть модель SVM в R. Прямо сейчас у меня есть два растровых изображения, один - это высота, другой - это наклон. Высота и уклон будут использоваться в качестве предикторов для СВМ. И я также хочу отобразить результаты в виде карты.Использовать SVM предсказать растровый файл в R
Прямо сейчас мой код выглядит следующим образом, но предсказание для двух изображений растрового изображения возвращает все 0. Оно должно быть 0 или 1. Что-то не так?
library("e1071")
tornado=read.csv(file="~/Desktop/new.csv",header=TRUE,sep=",")
err<- rep(0,5)
m<-0
for (i in c(1:5)) {
#split the data sets into testing and training
training.indices <- sample(nrow(tornado), 1800)
training <- rep(FALSE, nrow(tornado))
training[training.indices] <- TRUE
tornado.input<- tornado[training,]
tornado.input=data.frame(tornado.input)
tornado=data.frame(tornado)
tornado$Sig <- factor(tornado$Sig)
model <- svm(Sig~slope+elevation, data=tornado.input)
pred<- predict(model, tornado[!training,])
ConfM1<- table(tornado$Sig[!training], pred=pred)
err[i]<-(sum(ConfM1)-sum(diag(ConfM1)))/sum(ConfM1)
}
library("raster")
library("rgdal")
elevation <- raster("~/Desktop/elevation.tif")
slope<- raster("~/Desktop/slope.tif")
#plot(elevation)
#plot(slope)
logo <- brick(elevation, slope)
r1 <- predict(logo,model)
plot(r1)