Ich bin neu in R. Und ich habe bereits ein SVM-Modell in R. Im Moment habe ich zwei Rasterbild, eines ist die Erhebung, ein anderes ist die Steigung. Die Höhe und die Steigung würden als Prädiktoren für SVM verwendet werden. Und ich möchte die Ergebnisse auch als Karte darstellen.Verwenden Sie SVM-Vorhersage Raster-Datei in R
Momentan ist mein Code wie folgt, aber die Vorhersage für die zwei Rasterbildeingabe gibt alle 0 zurück. Es sollte 0 oder 1 sein. Alles falsch?
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)