Example usage for weka.classifiers CostMatrix readOldFormat

List of usage examples for weka.classifiers CostMatrix readOldFormat

Introduction

In this page you can find the example usage for weka.classifiers CostMatrix readOldFormat.

Prototype

public void readOldFormat(Reader reader) throws Exception 

Source Link

Document

Loads a cost matrix in the old format from a reader.

Usage

From source file:bme.mace.logicdomain.Evaluation.java

License:Open Source License

/**
 * Attempts to load a cost matrix./* ww w. j  a  v  a  2  s  .com*/
 * 
 * @param costFileName the filename of the cost matrix
 * @param numClasses the number of classes that should be in the cost matrix
 *          (only used if the cost file is in old format).
 * @return a <code>CostMatrix</code> value, or null if costFileName is empty
 * @throws Exception if an error occurs.
 */
protected static CostMatrix handleCostOption(String costFileName, int numClasses) throws Exception {

    if ((costFileName != null) && (costFileName.length() != 0)) {
        System.out.println("NOTE: The behaviour of the -m option has changed between WEKA 3.0"
                + " and WEKA 3.1. -m now carries out cost-sensitive *evaluation*"
                + " only. For cost-sensitive *prediction*, use one of the"
                + " cost-sensitive metaschemes such as" + " weka.classifiers.meta.CostSensitiveClassifier or"
                + " weka.classifiers.meta.MetaCost");

        Reader costReader = null;
        try {
            costReader = new BufferedReader(new FileReader(costFileName));
        } catch (Exception e) {
            throw new Exception("Can't open file " + e.getMessage() + '.');
        }
        try {
            // First try as a proper cost matrix format
            return new CostMatrix(costReader);
        } catch (Exception ex) {
            try {
                // Now try as the poxy old format :-)
                // System.err.println("Attempting to read old format cost file");
                try {
                    costReader.close(); // Close the old one
                    costReader = new BufferedReader(new FileReader(costFileName));
                } catch (Exception e) {
                    throw new Exception("Can't open file " + e.getMessage() + '.');
                }
                CostMatrix costMatrix = new CostMatrix(numClasses);
                // System.err.println("Created default cost matrix");
                costMatrix.readOldFormat(costReader);
                return costMatrix;
                // System.err.println("Read old format");
            } catch (Exception e2) {
                // re-throw the original exception
                // System.err.println("Re-throwing original exception");
                throw ex;
            }
        }
    } else {
        return null;
    }
}

From source file:cotraining.copy.Evaluation_D.java

License:Open Source License

/**
 * Attempts to load a cost matrix./*from   w  w w . j a v  a  2  s.  co  m*/
 *
 * @param costFileName the filename of the cost matrix
 * @param numClasses the number of classes that should be in the cost matrix
 * (only used if the cost file is in old format).
 * @return a <code>CostMatrix</code> value, or null if costFileName is empty
 * @throws Exception if an error occurs.
 */
protected static CostMatrix handleCostOption(String costFileName, int numClasses) throws Exception {

    if ((costFileName != null) && (costFileName.length() != 0)) {
        System.out.println("NOTE: The behaviour of the -m option has changed between WEKA 3.0"
                + " and WEKA 3.1. -m now carries out cost-sensitive *evaluation*"
                + " only. For cost-sensitive *prediction*, use one of the"
                + " cost-sensitive metaschemes such as" + " weka.classifiers.meta.CostSensitiveClassifier or"
                + " weka.classifiers.meta.MetaCost");

        Reader costReader = null;
        try {
            costReader = new BufferedReader(new FileReader(costFileName));
        } catch (Exception e) {
            throw new Exception("Can't open file " + e.getMessage() + '.');
        }
        try {
            // First try as a proper cost matrix format
            return new CostMatrix(costReader);
        } catch (Exception ex) {
            try {
                // Now try as the poxy old format :-)
                //System.err.println("Attempting to read old format cost file");
                try {
                    costReader.close(); // Close the old one
                    costReader = new BufferedReader(new FileReader(costFileName));
                } catch (Exception e) {
                    throw new Exception("Can't open file " + e.getMessage() + '.');
                }
                CostMatrix costMatrix = new CostMatrix(numClasses);
                //System.err.println("Created default cost matrix");
                costMatrix.readOldFormat(costReader);
                return costMatrix;
                //System.err.println("Read old format");
            } catch (Exception e2) {
                // re-throw the original exception
                //System.err.println("Re-throwing original exception");
                throw ex;
            }
        }
    } else {
        return null;
    }
}

From source file:milk.classifiers.MIEvaluation.java

License:Open Source License

/**
   * Attempts to load a cost matrix./*from  w  w  w .j  av a 2s. c o  m*/
   *
   * @param costFileName the filename of the cost matrix
   * @param numClasses the number of classes that should be in the cost matrix
   * (only used if the cost file is in old format).
   * @return a <code>CostMatrix</code> value, or null if costFileName is empty
   * @exception Exception if an error occurs.
   */
  private static CostMatrix handleCostOption(String costFileName, int numClasses) throws Exception {

      if ((costFileName != null) && (costFileName.length() != 0)) {
          System.out.println("NOTE: The behaviour of the -m option has changed between WEKA 3.0"
                  + " and WEKA 3.1. -m now carries out cost-sensitive *evaluation*"
                  + " only. For cost-sensitive *prediction*, use one of the"
                  + " cost-sensitive metaschemes such as" + " weka.classifiers.CostSensitiveClassifier or"
                  + " weka.classifiers.MetaCost");

          Reader costReader = null;
          try {
              costReader = new BufferedReader(new FileReader(costFileName));
          } catch (Exception e) {
              throw new Exception("Can't open file " + e.getMessage() + '.');
          }
          try {
              // First try as a proper cost matrix format
              return new CostMatrix(costReader);
          } catch (Exception ex) {
              try {
                  // Now try as the poxy old format :-)
                  //System.err.println("Attempting to read old format cost file");
                  try {
                      costReader.close(); // Close the old one
                      costReader = new BufferedReader(new FileReader(costFileName));
                  } catch (Exception e) {
                      throw new Exception("Can't open file " + e.getMessage() + '.');
                  }
                  CostMatrix costMatrix = new CostMatrix(numClasses);
                  //System.err.println("Created default cost matrix");
                  costMatrix.readOldFormat(costReader);
                  return costMatrix;
                  //System.err.println("Read old format");
              } catch (Exception e2) {
                  // re-throw the original exception
                  //System.err.println("Re-throwing original exception");
                  throw ex;
              }
          }
      } else {
          return null;
      }
  }