Suite

Les images classifiées de RandomForest-Classification semblent regroupées

Les images classifiées de RandomForest-Classification semblent regroupées


J'ai effectué une classification RF. J'ai 6 bandes, ~ 250 points d'entraînement dans un fichier de formes, estimation OOB du taux d'erreur : 1,56 % Image des points d'entraînement ajoutés. Mon code :

setwd("D:/BA-Workspace/sw_comp_ap_aug/") library(sp) library(rgdal) library(raster) library(randomForest) # CRÉER UNE LISTE DE RASTERS rlist=list.files(getwd(), pattern="tif$ ", full.names=TRUE) # CRÉER UNE PILE RASTER xvars <- stack(rlist) # CRÉER UNE PILE RASTER xvars <- stack(rlist) x <-coordonnées(xvars)[, 1] y <-coordonnées(xvars)[, 2] x_rst <- y_rst <- xvars[[1]] x_rst[] <- x y_rst[] <- y xvars <- stack(x_rst, y_rst, xvars) names(xvars) <- c("x", " y", "fitzefa1_rot1", "fitzefa1_gr1", "fitzefa1_bl1", "fitzefa2_rot1", "fitzefa2_gr1", "fitzefa2_bl1") # LIRE LES DONNÉES D'ENTRAÎNEMENT Raster sdata <- readOGR(dsn=getwd(), layer="sw_trainshape") # ATTRIBUER DES VALEURS RASTER AUX DONNÉES D'ENTRAÎNEMENT v <- as.data.frame(extract(xvars, sdata)) [email protected] = data.frame([email protected], v[match(rownames([email protected]), rownames(v)) ,]) [email protected] <- [email protected][-c(5,6)] # EXÉCUTER LE MODÈLE RF rf.mdl <- randomForest([email protected][,3:ncol([email protected])], y= as.factor([email protected][,"Class"]), ntree=501, importance=TRUE) # CHECK ERROR CONVERGENCE #plot( rf.mdl) #[email protected] # PLOT signifie une diminution de la précision VARIABLE IMPORTANCE #varImpPlot(rf.mdl, type=1) #setOldClass(SpatialPointsDataFrame) # PREDICT MODEL predict(xvars, rf.mdl, filename="RfClassPred.img" , type="response", index=1, na.rm=TRUE, progress="window", overwrite=TRUE)

Ici le .img classé

Les cours sont manifestement faux. Cela pourrait-il être dû à de mauvais points d'entraînement ?

J'ai 7 cours. (Pas de classe exclue pour les ombres ou plus, car j'essaie juste de diviser certaines espèces d'arbres)


Je pense que quelque part dans le processus de classification, vous incluez des coordonnées spatiales ou des identifiants de ligne/colonne de pixels de vos échantillons d'apprentissage. Pour une classification purement spectrale et des classes réparties de manière spatialement homogène, il n'est pas nécessaire d'inclure des coordonnées spatiales.

Du point de vue de la forêt aléatoire, cela expliquerait les artefacts linéaires parallèles aux axes x-y, car la forêt aléatoire les seuils linéairement (une séparation par variable). Il semble également bien séparer les grappes d'échantillons d'apprentissage, ce qui confirme encore cette observation.