Map accuracy assessment
validate a map from a classification or regression model. This can be useful to update the accuracy assessment after filtering, e.g. for a minimum mapping unit.
validateMap(map, valData, responseCol, nSamples = 500, mode = "classification", classMapping = NULL)
map |
RasterLayer. The classified map. |
valData |
SpatialPolygonsDataFrame or SpatialPointsDataFrame with validation data. |
responseCol |
Character. Column containing the validation data in attribute table of |
nSamples |
Integer. Number of pixels to sample for validation (only applies to polygons). |
mode |
Character. Either 'classification' or 'regression'. |
classMapping |
optional data.frame with columns |
Polygons, which are smaller than the map resolution will only be considered if they overlap with a pixel center coordinate, otherwise they will be ignored.
## Not run: library(caret) library(raster) ## Training data data(lsat) poly <- readRDS(system.file("external/trainingPolygons.rds", package="RStoolbox")) ## Split training data in training and validation set (50%-50%) splitIn <- createDataPartition(poly$class, p = .5)[[1]] train <- poly[splitIn,] val <- poly[-splitIn,] ## Classify (deliberately poorly) sc <- superClass(lsat, trainData = train, responseCol = "class", nSamples = 50, model = "mlc") ## Polish map with majority filter polishedMap <- focal(sc$map, matrix(1,3,3), fun = modal) ## Validation ## Before filtering val0 <- validateMap(sc$map, valData = val, responseCol = "class", classMapping = sc$classMapping) ## After filtering val1 <- validateMap(polishedMap, valData = val, responseCol = "class", classMapping = sc$classMapping) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.