The  KappaCoefficient function method returns the kappa coefficient.
            The kappa coefficient measures the agreement between classification and truth values. A kappa value of 1 represents perfect agreement, while a value of 0 represents no agreement. The kappa coefficient is computed as follows:
            
                 
            
             Where :
             
                - i is the class number
- N is the total number of classified values compared to truth values
- mi,i is the number of values belonging to the truth class i that have also been classified as class i (i.e., values found along the diagonal of the confusion matrix)
- Ci is the total number of predicted values belonging to class i
- Gi is the total number of truth values belonging to class i
In the example confusion matrix, the kappa coefficient is      0.990839.
            
                 
            
             Example
            The code example below evaluates classifications using a confusion matrix.
            PRO EvaluateClassificationUsingConfusionMatrix
                COMPILE_OPT IDL2
             
                
                e = ENVI()
             
                
                File = Filepath('qb_boulder_msi', Subdir=['data'], $
                Root_Dir=e.Root_Dir)
                Raster = e.OpenRaster(File)
                File2 = Filepath('qb_boulder_roi.xml', Subdir=['data'], $
                Root_Dir=e.Root_Dir)
                Rois = envi.OpenROI(roiFile)
             
                
                StatTask = ENVITask('ROIStatistics')
                StatTask.INPUT_RASTER = Raster
                StatTask.INPUT_ROI = Rois
                StatTask.Execute
             
                
                Task = ENVITask('MahalanobisDistanceClassification')
             
                
                Task.INPUT_RASTER = Raster
                Task.COVARIANCE = StatTask.Covariance
                Task.MEAN = StatTask.Mean
                Task.CLASS_PIXEL_COUNT = StatTask.Roi_Pixel_Count
                Task.CLASS_NAMES = [Rois[0].name, Rois[1].name, Rois[2].name]
                Task.CLASS_COLORS = [[0,0,255], [0,255,0], [255,0,0]]
             
                
                Task.Execute
                ClassRaster = Task.OUTPUT_RASTER
                View = e.GetView()
                Layer = View.CreateLayer(ClassRaster)
             
                
                envi.Data.Add, ClassRaster
             
                
                ConfusionMatrix = ENVICalculateConfusionMatrixFromRaster(ClassRaster, Rois)
             
                
                Print, 'Confusion Matrix:'
                Print, ConfusionMatrix.Confusion_Matrix
                Print, 'Errors of commission: '
                Print, Transpose([[ConfusionMatrix.Column_Names+': '], [(ConfusionMatrix.CommissionError()).ToString()]])
                Print, 'Errors of omission: '
                Print, Transpose([[ConfusionMatrix.Column_Names+': '], [(ConfusionMatrix.OmissionError()).ToString()]])
                Print, 'Overall accuracy: ', ConfusionMatrix.Accuracy()
            END
            Syntax
            Result = ENVIConfusionMatrix.KappaCoefficient([, ERROR=variable])
            Return Value
            This function method returns the kappa coefficient from the confusion matrix.
            Arguments
            None
            Keywords
            ERROR (optional)
            Set this keyword to a named variable that will contain any error message issued during execution of this routine. If no error occurs, the ERROR variable will be set to a null string (''). If an error occurs and the routine is a function, then the function result will be undefined.
            When this keyword is not set and an error occurs, ENVI returns to the caller and execution halts. In this case, the error message is contained within !ERROR_STATE and can be caught using IDL's CATCH routine. See IDL Help for more information on !ERROR_STATE and CATCH.
            See Manage Errors for more information on error handling in ENVI programming.
            Version History
            
            See Also
            ENVIConfusionMatrix