@Override public double[] distributionForInstance(Instance instance) throws Exception {
  DecisionTableHashKey thekey;
  double[] tempDist;
  double[] normDist;
  m_disTransform.input(instance);
  m_disTransform.batchFinished();
  instance=m_disTransform.output();
  m_delTransform.input(instance);
  m_delTransform.batchFinished();
  instance=m_delTransform.output();
  thekey=new DecisionTableHashKey(instance,instance.numAttributes(),false);
  if ((tempDist=m_entries.get(thekey)) == null) {
    if (m_useIBk) {
      tempDist=m_ibk.distributionForInstance(instance);
    }
 else {
      if (!m_classIsNominal) {
        tempDist=new double[1];
        tempDist[0]=m_majority;
      }
 else {
        tempDist=m_classPriors.clone();
      }
    }
  }
 else {
    if (!m_classIsNominal) {
      normDist=new double[1];
      normDist[0]=(tempDist[0] / tempDist[1]);
      tempDist=normDist;
    }
 else {
      normDist=new double[tempDist.length];
      System.arraycopy(tempDist,0,normDist,0,tempDist.length);
      Utils.normalize(normDist);
      tempDist=normDist;
    }
  }
  return tempDist;
}

@ Override public double [ ] distributionForInstance ( Instance instance ) throws Exception { DecisionTableHashKey thekey ; double [ ] tempDist ; double [ ] normDist ; m_disTransform . input ( instance ) ; m_disTransform . batchFinished ( ) ; instance = m_disTransform . output ( ) ; m_delTransform . input ( instance ) ; m_delTransform . batchFinished ( ) ; instance = m_delTransform . output ( ) ; thekey = new DecisionTableHashKey ( instance , instance . numAttributes ( ) , false ) ; if ( ( tempDist = m_entries . get ( thekey ) ) == null ) { if ( m_useIBk ) { tempDist = m_ibk . distributionForInstance ( instance ) ; } else { if ( ! m_classIsNominal ) { tempDist = new double [ 1 ] ; tempDist [ 0 ] = m_majority ; } else { tempDist = m_classPriors . clone ( ) ; } } } else { if ( ! m_classIsNominal ) { normDist = new double [ 1 ] ; normDist [ 0 ] = ( tempDist [ 0 ] / tempDist [ 1 ] ) ; tempDist = normDist ; } else { normDist = new double [ tempDist . length ] ; System . arraycopy ( tempDist , 0 , normDist , 0 , tempDist . length ) ; Utils . normalize ( normDist ) ; tempDist = normDist ; } } return tempDist ; }
calculates the class membership probabilities for the given test instance .
