System.err.println("Computing, please wait...");
System.out.println("Computing...");
  public double [] distributionForInstance(Instance instance) throws Exception {    String debug = "(KStar.distributionForInstance) ";    double transProb = 0.0, temp = 0.0;    double [] classProbability = new double[m_NumClasses];    double [] predictedValue = new double[1];    // initialization ...    for (int i=0; i<classProbability.length; i++) {      classProbability[i] = 0.0;    }    predictedValue[0] = 0.0;    if (m_InitFlag == ON) {	// need to compute them only once and will be used for all instances.	// We are doing this because the evaluation module controls the calls.       if (m_BlendMethod == B_ENTROPY) {	generateRandomClassColomns();      }      m_Cache = new KStarCache[m_NumAttributes];      for (int i=0; i<m_NumAttributes;i++) {	m_Cache[i] = new KStarCache();      }      m_InitFlag = OFF;      System.err.println("Computing, please wait...");    }    // init done.    Instance trainInstance;    Enumeration enum = m_Train.enumerateInstances();    while ( enum.hasMoreElements() ) {      trainInstance = (Instance)enum.nextElement();      transProb = instanceTransformationProbability(instance, trainInstance);            switch ( m_ClassType )	{	case Attribute.NOMINAL:	  classProbability[(int)trainInstance.classValue()] += transProb;	  break;	case Attribute.NUMERIC:	  predictedValue[0] += transProb * trainInstance.classValue();	  temp += transProb;	  break;	}    }