public IndTestProbabilisticVerbose(DataSet dataSet,PrintWriter out,IndTestDSep dsepTest){
  this.out=out;
  this.dsepTest=dsepTest;
  if (!dataSet.isDiscrete()) {
    throw new IllegalArgumentException("Not a discrete data set.");
  }
  this.data=dataSet;
  int[] nodeDimensions=new int[dataSet.getNumColumns() + 2];
  for (int j=0; j < dataSet.getNumColumns(); j++) {
    DiscreteVariable variable=(DiscreteVariable)(dataSet.getVariable(j));
    int numCategories=variable.getNumCategories();
    nodeDimensions[j + 1]=numCategories;
  }
  int[][] cases=new int[dataSet.getNumRows() + 1][dataSet.getNumColumns() + 2];
  for (int i=0; i < dataSet.getNumRows(); i++) {
    for (int j=0; j < dataSet.getNumColumns(); j++) {
      cases[i + 1][j + 1]=dataSet.getInt(i,j) + 1;
    }
  }
  bci=new BCInference(cases,nodeDimensions);
  nodes=dataSet.getVariables();
  indices=new HashMap<>();
  for (int i=0; i < nodes.size(); i++) {
    indices.put(nodes.get(i),i);
  }
  this.H=new HashMap<>();
}

public IndTestProbabilisticVerbose ( DataSet dataSet , PrintWriter out , IndTestDSep dsepTest ) { this . out = out ; this . dsepTest = dsepTest ; if ( ! dataSet . isDiscrete ( ) ) { throw new IllegalArgumentException ( "Not a discrete data set." ) ; } this . data = dataSet ; int [ ] nodeDimensions = new int [ dataSet . getNumColumns ( ) + 2 ] ; for ( int j = 0 ; j < dataSet . getNumColumns ( ) ; j ++ ) { DiscreteVariable variable = ( DiscreteVariable ) ( dataSet . getVariable ( j ) ) ; int numCategories = variable . getNumCategories ( ) ; nodeDimensions [ j + 1 ] = numCategories ; } int [ ] [ ] cases = new int [ dataSet . getNumRows ( ) + 1 ] [ dataSet . getNumColumns ( ) + 2 ] ; for ( int i = 0 ; i < dataSet . getNumRows ( ) ; i ++ ) { for ( int j = 0 ; j < dataSet . getNumColumns ( ) ; j ++ ) { cases [ i + 1 ] [ j + 1 ] = dataSet . getInt ( i , j ) + 1 ; } } bci = new BCInference ( cases , nodeDimensions ) ; nodes = dataSet . getVariables ( ) ; indices = new HashMap < > ( ) ; for ( int i = 0 ; i < nodes . size ( ) ; i ++ ) { indices . put ( nodes . get ( i ) , i ) ; } this . H = new HashMap < > ( ) ; }
initializes the test using a discrete data sets .
