void showNFoldTypeSpecificAccuracy(InstanceList instanceList, int n) {
   InstanceList.CrossValidationIterator cvIt = instanceList.crossValidationIterator(n);
   double accuracies[] = new double[n];
   double accuracy = 0;
   int run = 0;
   while (cvIt.hasNext()) {
     InstanceList[] nextSplit = cvIt.nextSplit();
     InstanceList trainingInstances = nextSplit[0];
     InstanceList testingInstances = nextSplit[1];
     double[] result = getTypeSpecificAccuracy(trainingInstances, testingInstances, true);
     accuracies[run++] = result[2];
     accuracy += result[2];
   }
   System.out.println(n + "-Fold cross-validation:");
   System.out.println("Accuracy: " + accuracy / n);
 }
  private void showNFoldAccuracy(InstanceList instanceList, int n, int count) {
    InstanceList.CrossValidationIterator cvIt = instanceList.crossValidationIterator(n);
    double accuracies[] = new double[n];
    double accuracy = 0;
    int run = 0;
    double totalTP = 0;
    while (cvIt.hasNext()) {
      InstanceList[] nextSplit = cvIt.nextSplit();
      InstanceList trainingInstances = nextSplit[0];
      InstanceList testingInstances = nextSplit[1];

      trainer = new MyClassifierTrainer(new RankMaxEntTrainer());
      Classifier classifier = trainer.train(trainingInstances);
      accuracies[run] = getAccuracy(classifier, testingInstances);
      accuracy += accuracies[run];
      totalTP += accuracies[run] * testingInstances.size();
      run++;
    }
    System.out.println(n + "-Fold accuracy(avg): " + accuracy / n);
    System.out.println("Total tp:" + totalTP);
    System.out.println("Total count:" + count);
    System.out.println(n + "-Fold accuracy: " + totalTP / count);
  }