question: protected boolean [ ] datasetIntegrity ( boolean nominalPredictor , boolean numericPredictor , boolean stringPredictor , boolean datePredictor , boolean relationalPredictor , boolean multiInstance , int classType , boolean predictorMissing , boolean classMissing ) { print ( "kernel doesn't alter original datasets" ) ; printAttributeSummary ( nominalPredictor , numericPredictor , stringPredictor , datePredictor , relationalPredictor , multiInstance , classType ) ; print ( "..." ) ; int numTrain = getNumInstances ( ) , numClasses = 2 , missingLevel = 20 ; boolean [ ] result = new boolean [ 2 ] ; Instances train = null ; Kernel kernel = null ; try { train = makeTestDataset ( 42 , numTrain , nominalPredictor ? getNumNominal ( ) : 0 , numericPredictor ? getNumNumeric ( ) : 0 , stringPredictor ? getNumString ( ) : 0 , datePredictor ? getNumDate ( ) : 0 , relationalPredictor ? getNumRelational ( ) : 0 , numClasses , classType , multiInstance ) ; if ( missingLevel > 0 ) { addMissing ( train , missingLevel , predictorMissing , classMissing ) ; } kernel = Kernel . makeCopies ( getKernel ( ) , 1 ) [ 0 ] ; } catch ( Exception ex ) { throw new Error ( "Error setting up for tests: " + ex . getMessage ( ) ) ; } try { Instances trainCopy = new Instances ( train ) ; kernel . buildKernel ( trainCopy ) ; compareDatasets ( train , trainCopy ) ; println ( "yes" ) ; result [ 0 ] = true ; } catch ( Exception ex ) { println ( "no" ) ; result [ 0 ] = false ; if ( m_Debug ) { println ( "\n=== Full Report ===" ) ; print ( "Problem during building" ) ; println ( ": " + ex . getMessage ( ) + "\n" ) ; println ( "Here is the dataset:\n" ) ; println ( "=== Train Dataset ===\n" + train . toString ( ) + "\n" ) ; } } return result ; }
target:  Checks whether the scheme alters the training dataset during building. If the scheme needs to modify the data it should take a copy of the training data. Currently checks for changes to header structure, number of instances, order of instances, instance weights.