This task evaluates a classifier using labeled rasters that may or may not have been used during training. It generates a report containing statistics about the classifiers performance against the input rasters, and provides a confusion matrix of all classes as part of the report.

Example


; Start the application
e = ENVI(/HEADLESS)
 
; Open an ROI file
File = Filepath('qb_boulder_roi.xml', Subdir=['data'], $
Root_Dir=e.Root_Dir)
ROI = ENVI.OpenROI(File)
 
; Open an input file
File = Filepath('qb_boulder_msi', Subdir=['data'], $
Root_Dir=e.Root_Dir)
Raster = e.OpenRaster(File)
 
; Specify an output report name
User = GetEnv('USERNAME')
Output_Report = ``
 
; Run statistics normalization
Task_1 = ENVITask('NormalizationStatistics')
Task_1.INPUT_RASTERS = Raster
Task_1.Execute
 
; Run the MLTrainingDataFromROIs task
Task_2 = ENVITask('MLTrainingDataFromROIs')
Task_2.INPUT_RASTER = Raster
Task_2.INPUT_ROI = ROI
Task_2.NORMALIZE_MIN_MAX = Task_1.normalization
Task_2.Execute
 
; Run the TrainRandomForest task
Task_3 = ENVITask('TrainRandomForest')
Task_3.INPUT_RASTERS = Task_2.output_raster
Task_3.Execute
 
; Run the MachineLearningClassification task
Task_4 = ENVITask('MachineLearningClassification')
Task_4.INPUT_RASTER = Raster
Task_4.INPUT_MODEL = Task_3.output_model
Task_4.NORMALIZE_MIN_MAX = Task_1.normalization
Task_4.Execute
 
; Run the task
Task_5 = ENVITask('MachineLearningEvaluateClassifier')
Task_5.INPUT_RASTERS = Task_2.output_raster
Task_5.INPUT_MODEL = Task_3.output_model
Task_5.OUTPUT_REPORT_URI = e.GetTemporaryFilename('.json', /CLEANUP_ON_EXIT)
Task_5.Execute
 
; Output the Machine Learning Evaluate Classifier result
print, Task_5.OUTPUT_REPORT, /IMPLIED_PRINT

Syntax


Result = ENVITask('MachineLearningEvaluateClassifier')

Input parameters (Set, Get): INPUT_RASTERS, INPUT_MODEL, OUT_REPORT_URI

Output parameters (Get only): OUTPUT_REPORT

Parameters marked as "Set" are those that you can set to specific values. You can also retrieve their current values any time. Parameters marked as "Get" are those whose values you can retrieve but not set.

Input Parameters


INPUT_RASTERS (required)

Specify the single row of spectral rasters that contain pixels for training.

INPUT_MODEL (required)

Specify a trained machine learning model to use for classifying the INPUT_RASTERS.

OUT_REPORT_URI (optional)

Specify the JSON URI containing the report. If not specified, a temporary URI will be used.

Output Parameters


OUTPUT_REPORT

Specify a hash object containing the results written to OUPUT_REPORT_URI.

Methods


Execute

Parameter

ParameterNames

See ENVI Help for details on these ENVITask methods.

Properties


DESCRIPTION

DISPLAY_NAME

NAME

REVISION

See the ENVITask topic in ENVI Help for details.

Version History


Machine Learning 3.0

Introduced

See Also


ENVIMachineLearningModel