⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 explorerdefaults.java

📁 代码是一个分类器的实现,其中使用了部分weka的源代码。可以将项目导入eclipse运行
💻 JAVA
字号:
/* *    This program is free software; you can redistribute it and/or modify *    it under the terms of the GNU General Public License as published by *    the Free Software Foundation; either version 2 of the License, or *    (at your option) any later version. * *    This program is distributed in the hope that it will be useful, *    but WITHOUT ANY WARRANTY; without even the implied warranty of *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *    GNU General Public License for more details. * *    You should have received a copy of the GNU General Public License *    along with this program; if not, write to the Free Software *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *//* * ExplorerDefaults.java * Copyright (C) 2006 University of Waikato, Hamilton, New Zealand */package weka.gui.explorer;import weka.core.Utils;import java.io.Serializable;import java.util.Collections;import java.util.Enumeration;import java.util.Properties;import java.util.Vector;/** * This class offers get methods for the default Explorer settings in  * the props file <code>weka/gui/explorer/Explorer.props</code>. * * @author  FracPete (fracpete at waikato dot ac dot nz) * @version $Revision: 1.1 $ * @see #PROPERTY_FILE */public class ExplorerDefaults  implements Serializable {    /** for serialization */  private static final long serialVersionUID = 4954795757927524225L;  /** The name of the properties file */  public final static String PROPERTY_FILE = "weka/gui/explorer/Explorer.props";  /** Properties associated with the explorer options */  protected static Properties PROPERTIES;  static {    try {      PROPERTIES = Utils.readProperties(PROPERTY_FILE);    }    catch (Exception e) {      System.err.println("Problem reading properties. Fix before continuing.");      e.printStackTrace();      PROPERTIES = new Properties();    }  }  /**   * returns the value for the specified property, if non-existent then the   * default value.   *   * @param property      the property to retrieve the value for   * @param defaultValue  the default value for the property   * @return              the value of the specified property   */  public static String get(String property, String defaultValue) {    return PROPERTIES.getProperty(property, defaultValue);  }  /**   * returns the associated properties file   *    * @return              the props file   */  public final static Properties getProperties() {    return PROPERTIES;  }    /**   * Tries to instantiate the class stored for this property, optional    * options will be set as well. Returns null if unsuccessful.   *    * @param property      the property to get the object for   * @param defaultValue  the default object spec string   * @return              if successful the fully configured object, null   *                      otherwise   */  protected static Object getObject(String property, String defaultValue) {    return getObject(property, defaultValue, Object.class);  }    /**   * Tries to instantiate the class stored for this property, optional    * options will be set as well. Returns null if unsuccessful.   *    * @param property      the property to get the object for   * @param defaultValue  the default object spec string   * @param cls           the class the object must be derived from   * @return              if successful the fully configured object, null   *                      otherwise   */  protected static Object getObject(String property, String defaultValue, Class cls) {    Object	result;    String	tmpStr;    String[]	tmpOptions;        result = null;        try {      tmpStr     = get(property, defaultValue);      tmpOptions = Utils.splitOptions(tmpStr);      if (tmpOptions.length != 0) {	tmpStr        = tmpOptions[0];	tmpOptions[0] = "";	result        = Utils.forName(cls, tmpStr, tmpOptions);      }    }    catch (Exception e) {      e.printStackTrace();      result = null;    }        return result;  }  /**   * returns if the GOEs in the Explorer will be initialized based on the   * data that is loaded into the Explorer   *    * @return		true if the GOEs get initialized   */  public static boolean getInitGenericObjectEditorFilter() {    return Boolean.parseBoolean(get("InitGenericObjectEditorFilter", "false"));  }    /**   * returns the default filter (fully configured) for the preprocess panel   *    * @return		the default filter, null if none   */  public static Object getFilter() {    return getObject("Filter", "", weka.filters.Filter.class);  }    /**   * returns the default classifier (fully configured) for the classify panel   *    * @return		the default classifier, ZeroR by default   */  public static Object getClassifier() {    Object	result;        result = getObject(		"Classifier", 		weka.classifiers.rules.ZeroR.class.getName(), 		weka.classifiers.Classifier.class);    if (result == null)      result = new weka.classifiers.rules.ZeroR();        return result;  }    /**   * returns the default classifier test mode for the classify panel   *    * @return		the default test mode   */  public static int getClassifierTestMode() {    return Integer.parseInt(get("ClassifierTestMode", "1"));  }    /**   * returns the default number of folds of the CV in the classify panel   *    * @return		the default number of folds   */  public static int getClassifierCrossvalidationFolds() {    return Integer.parseInt(get("ClassifierCrossvalidationFolds", "10"));  }    /**   * returns the default classifier test mode for the classify panel (0-99)   *    * @return		the default precentage split   */  public static int getClassifierPercentageSplit() {    return Integer.parseInt(get("ClassifierPercentageSplit", "66"));  }  /**   * returns whether the built model is output   *    * @return		true if the built model is output   */  public static boolean getClassifierOutputModel() {    return Boolean.parseBoolean(get("ClassifierOutputModel", "true"));  }  /**   * returns whether additional per-class stats of the classifier are output   *    * @return		true if stats are output   */  public static boolean getClassifierOutputPerClassStats() {    return Boolean.parseBoolean(get("ClassifierOutputPerClassStats", "true"));  }  /**   * returns whether entropy-based evaluation meastures of the classifier    * are output   *    * @return		true if output   */  public static boolean getClassifierOutputEntropyEvalMeasures() {    return Boolean.parseBoolean(get("ClassifierOutputEntropyEvalMeasures", "false"));  }  /**   * returns whether the confusion matrix for the classifier is output   *    * @return		true if matrix is output   */  public static boolean getClassifierOutputConfusionMatrix() {    return Boolean.parseBoolean(get("ClassifierOutputConfusionMatrix", "true"));  }  /**   * returns whether the predictions of the classifier are output as well   *    * @return		true if predictions are output as well   */  public static boolean getClassifierOutputPredictions() {    return Boolean.parseBoolean(get("ClassifierOutputPredictions", "false"));  }  /**   * returns whether the predictions of the classifier are stored for    * visualization   *    * @return		true if predictions are stored   */  public static boolean getClassifierStorePredictionsForVis() {    return Boolean.parseBoolean(get("ClassifierStorePredictionsForVis", "true"));  }  /**   * returns whether the evaluation of the classifier is done cost-sensitively   *    * @return		true if cost-sensitively done   */  public static boolean getClassifierCostSensitiveEval() {    return Boolean.parseBoolean(get("ClassifierCostSensitiveEval", "false"));  }    /**   * returns the default random seed value for the classifier for the    * classify panel   *    * @return		the default random seed   */  public static int getClassifierRandomSeed() {    return Integer.parseInt(get("ClassifierRandomSeed", "1"));  }  /**   * returns whether the order is preserved in case of the percentage split    * in the classify tab   *    * @return		true if order is preserved   */  public static boolean getClassifierPreserveOrder() {    return Boolean.parseBoolean(get("ClassifierPreserveOrder", "false"));  }    /**   * returns the default clusterer (fully configured) for the clusterer panel   *    * @return		the default clusterer, EM by default   */  public static Object getClusterer() {    Object	result;        result = getObject(		"Clusterer", 		weka.clusterers.EM.class.getName(), 		weka.clusterers.Clusterer.class);    if (result == null)      result = new weka.clusterers.EM();        return result;  }    /**   * returns the default cluster test mode for the cluster panel   *    * @return		the default test mode   */  public static int getClustererTestMode() {    return Integer.parseInt(get("ClustererTestMode", "3"));  }  /**   * returns whether the clusters are storeed for visualization purposes   * in the cluster panel   *    * @return		true if clusters are stored   */  public static boolean getClustererStoreClustersForVis() {    return Boolean.parseBoolean(get("ClustererStoreClustersForVis", "true"));  }    /**   * returns the default associator (fully configured) for the associations panel   *    * @return		the default associator, Apriori by default   */  public static Object getAssociator() {    Object	result;        result = getObject(		"Associator", 		weka.associations.Apriori.class.getName(), 		weka.associations.Associator.class);    if (result == null)      result = new weka.associations.Apriori();        return result;  }    /**   * returns the default attribute evalautor (fully configured) for the    * attribute selection panel   *    * @return		the default attribute evaluator, CfsSubsetEval by default   */  public static Object getASEvaluator() {    Object	result;        result = getObject(		"ASEvaluation", 		weka.attributeSelection.CfsSubsetEval.class.getName(), 		weka.attributeSelection.ASEvaluation.class);    if (result == null)      result = new weka.attributeSelection.CfsSubsetEval();        return result;  }    /**   * returns the default attribute selection search scheme (fully configured)    * for the attribute selection panel   *    * @return		the default search scheme, BestFirst by default   */  public static Object getASSearch() {    Object	result;        result = getObject(		"ASSearch", 		weka.attributeSelection.BestFirst.class.getName(), 		weka.attributeSelection.ASSearch.class);    if (result == null)      result = new weka.attributeSelection.BestFirst();        return result;  }    /**   * returns the default attribute selection test mode for the attribute   * selection panel   *    * @return		the default test mode   */  public static int getASTestMode() {    return Integer.parseInt(get("ASTestMode", "0"));  }    /**   * returns the default number of folds of the CV in the attribute selection    * panel   *    * @return		the default number of folds   */  public static int getASCrossvalidationFolds() {    return Integer.parseInt(get("ASCrossvalidationFolds", "10"));  }    /**   * returns the default random seed value in the attribute selection panel   *    * @return		the default random seed   */  public static int getASRandomSeed() {    return Integer.parseInt(get("ASRandomSeed", "1"));  }    /**   * only for testing - prints the content of the props file   *    * @param args	commandline parameters - ignored   */  public static void main(String[] args) {    Enumeration		names;    String		name;    Vector		sorted;        System.out.println("\nExplorer defaults:");    names = PROPERTIES.propertyNames();    // sort names    sorted = new Vector();    while (names.hasMoreElements())      sorted.add(names.nextElement());    Collections.sort(sorted);    names = sorted.elements();        // output    while (names.hasMoreElements()) {      name = names.nextElement().toString();      System.out.println("- " + name + ": " + PROPERTIES.getProperty(name, ""));    }    System.out.println();  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -