Learn R Programming

RStoolbox (version 0.1.6)

validateMap: Map accuracy assessment

Description

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.

Usage

validateMap(map, valData, responseCol, nSamples = 500, mode = "classification", classMapping = NULL)

Arguments

map
RasterLayer. The classified map.
valData
SpatialPolygonsDataFrame or SpatialPointsDataFrame with validation data.
responseCol
Character. Column containing the validation data in attribute table of valData.
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 'class' and 'classID' defining the mapping from raster integers to class names.

Examples

Run this code
## 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
# 
# polishMap <- 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(polishMap, valData = val, responseCol = "class", classMapping = sc$classMapping)
# ## End(Not run)

Run the code above in your browser using DataLab