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

📄 randomsplitresultproducer.java

📁 wekaUT是 university texas austin 开发的基于weka的半指导学习(semi supervised learning)的分类器
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
   *   * @return an array containing objects of the type of each column. The    * objects should be Strings, or Doubles.   */  public Object [] getResultTypes() {    Object [] resultTypes = m_SplitEvaluator.getResultTypes();    // Add in the types of our extra Result fields    Object [] newResultTypes = new Object [resultTypes.length + 1];    newResultTypes[0] = new Double(0);    System.arraycopy(resultTypes, 0, newResultTypes, 1, resultTypes.length);    return newResultTypes;  }  /**   * Gets a description of the internal settings of the result   * producer, sufficient for distinguishing a ResultProducer   * instance from another with different settings (ignoring   * those settings set through this interface). For example,   * a cross-validation ResultProducer may have a setting for the   * number of folds. For a given state, the results produced should   * be compatible. Typically if a ResultProducer is an OptionHandler,   * this string will represent the command line arguments required   * to set the ResultProducer to that state.   *   * @return the description of the ResultProducer state, or null   * if no state is defined   */  public String getCompatibilityState() {    String result = "-P " + m_TrainPercent;    if (!getRandomizeData()) {      result += " -R";    }    if (m_SplitEvaluator == null) {      result += " <null SplitEvaluator>";    } else {      result += " -W " + m_SplitEvaluator.getClass().getName();    }    return result + " --";  }  /**   * Returns the tip text for this property   * @return tip text for this property suitable for   * displaying in the explorer/experimenter gui   */  public String outputFileTipText() {    return "Set the destination for saving raw output. If the rawOutput "      +"option is selected, then output from the splitEvaluator for "      +"individual train-test splits is saved. If the destination is a "      +"directory, "      +"then each output is saved to an individual gzip file; if the "      +"destination is a file, then each output is saved as an entry "      +"in a zip file.";  }  /**   * Get the value of OutputFile.   *   * @return Value of OutputFile.   */  public File getOutputFile() {        return m_OutputFile;  }    /**   * Set the value of OutputFile.   *   * @param newOutputFile Value to assign to OutputFile.   */  public void setOutputFile(File newOutputFile) {        m_OutputFile = newOutputFile;  }    /**   * Returns the tip text for this property   * @return tip text for this property suitable for   * displaying in the explorer/experimenter gui   */  public String randomizeDataTipText() {    return "Do not randomize dataset if true";  }  /**   * Get if dataset is to be randomized   * @return true if dataset is to be randomized   */  public boolean getRandomizeData() {    return m_randomize;  }    /**   * Set to true if dataset is to be randomized   * @param d true if dataset is to be randomized   */  public void setRandomizeData(boolean d) {    m_randomize = d;  }  /**   * Returns the tip text for this property   * @return tip text for this property suitable for   * displaying in the explorer/experimenter gui   */  public String rawOutputTipText() {    return "Save raw output (useful for debugging). If set, then output is "      +"sent to the destination specified by outputFile";  }  /**   * Get if raw split evaluator output is to be saved   * @return true if raw split evalutor output is to be saved   */  public boolean getRawOutput() {    return m_debugOutput;  }    /**   * Set to true if raw split evaluator output is to be saved   * @param d true if output is to be saved   */  public void setRawOutput(boolean d) {    m_debugOutput = d;  }  /**   * Returns the tip text for this property   * @return tip text for this property suitable for   * displaying in the explorer/experimenter gui   */  public String trainPercentTipText() {    return "Set the percentage of data to use for training.";  }  /**   * Get the value of TrainPercent.   *   * @return Value of TrainPercent.   */  public double getTrainPercent() {        return m_TrainPercent;  }    /**   * Set the value of TrainPercent.   *   * @param newTrainPercent Value to assign to TrainPercent.   */  public void setTrainPercent(double newTrainPercent) {        m_TrainPercent = newTrainPercent;  }  /**   * Returns the tip text for this property   * @return tip text for this property suitable for   * displaying in the explorer/experimenter gui   */  public String splitEvaluatorTipText() {    return "The evaluator to apply to the cross validation folds. "      +"This may be a classifier, regression scheme etc.";  }  /**   * Get the SplitEvaluator.   *   * @return the SplitEvaluator.   */  public SplitEvaluator getSplitEvaluator() {        return m_SplitEvaluator;  }    /**   * Set the SplitEvaluator.   *   * @param newSplitEvaluator new SplitEvaluator to use.   */  public void setSplitEvaluator(SplitEvaluator newSplitEvaluator) {        m_SplitEvaluator = newSplitEvaluator;    m_SplitEvaluator.setAdditionalMeasures(m_AdditionalMeasures);  }  /**   * Returns an enumeration describing the available options..   *   * @return an enumeration of all the available options.   */  public Enumeration listOptions() {    Vector newVector = new Vector(5);    newVector.addElement(new Option(	     "\tThe percentage of instances to use for training.\n"	      +"\t(default 66)", 	     "P", 1, 	     "-P <percent>"));    newVector.addElement(new Option(	     "Save raw split evaluator output.",	     "D",0,"-D"));    newVector.addElement(new Option(	     "\tThe filename where raw output will be stored.\n"	     +"\tIf a directory name is specified then then individual\n"	     +"\toutputs will be gzipped, otherwise all output will be\n"	     +"\tzipped to the named file. Use in conjuction with -D."	     +"\t(default splitEvalutorOut.zip)", 	     "O", 1, 	     "-O <file/directory name/path>"));    newVector.addElement(new Option(	     "\tThe full class name of a SplitEvaluator.\n"	      +"\teg: weka.experiment.ClassifierSplitEvaluator", 	     "W", 1, 	     "-W <class name>"));    newVector.addElement(new Option(	     "Set when data is not to be randomized.",	     "R",0,"-R"));     if ((m_SplitEvaluator != null) &&	(m_SplitEvaluator instanceof OptionHandler)) {      newVector.addElement(new Option(	     "",	     "", 0, "\nOptions specific to split evaluator "	     + m_SplitEvaluator.getClass().getName() + ":"));      Enumeration enum = ((OptionHandler)m_SplitEvaluator).listOptions();      while (enum.hasMoreElements()) {	newVector.addElement(enum.nextElement());      }    }    return newVector.elements();  }  /**   * Parses a given list of options. Valid options are:<p>   *   * -P num <br>   * The percent of instances used for training. <p>   *   * -D <br>   * Specify that raw split evaluator output is to be saved. <p>   *   * -R <br>   * Do not randomize the dataset. <p>   *   * -O file/directory name <br>   * Specify the file or directory to which raw split evaluator output   * is to be saved. If a directory is specified, then each output string   * is saved as an individual gzip file. If a file is specified, then   * each output string is saved as an entry in a zip file. <p>   *   * -W classname <br>   * Specify the full class name of the split evaluator. <p>   *   * All option after -- will be passed to the split evaluator.   *   * @param options the list of options as an array of strings   * @exception Exception if an option is not supported   */  public void setOptions(String[] options) throws Exception {        setRawOutput(Utils.getFlag('D', options));    setRandomizeData(!Utils.getFlag('R', options));    String fName = Utils.getOption('O', options);    if (fName.length() != 0) {      setOutputFile(new File(fName));    }    String trainPct = Utils.getOption('P', options);    if (trainPct.length() != 0) {      setTrainPercent((new Double(trainPct)).doubleValue());    } else {      setTrainPercent(66);    }    String seName = Utils.getOption('W', options);    if (seName.length() == 0) {      throw new Exception("A SplitEvaluator must be specified with"			  + " the -W option.");    }    // Do it first without options, so if an exception is thrown during    // the option setting, listOptions will contain options for the actual    // SE.    setSplitEvaluator((SplitEvaluator)Utils.forName(		      SplitEvaluator.class,		      seName,		      null));    if (getSplitEvaluator() instanceof OptionHandler) {      ((OptionHandler) getSplitEvaluator())	.setOptions(Utils.partitionOptions(options));    }  }  /**   * Gets the current settings of the result producer.   *   * @return an array of strings suitable for passing to setOptions   */  public String [] getOptions() {    String [] seOptions = new String [0];    if ((m_SplitEvaluator != null) && 	(m_SplitEvaluator instanceof OptionHandler)) {      seOptions = ((OptionHandler)m_SplitEvaluator).getOptions();    }        String [] options = new String [seOptions.length + 9];    int current = 0;    options[current++] = "-P"; options[current++] = "" + getTrainPercent();        if (getRawOutput()) {      options[current++] = "-D";    }        if (!getRandomizeData()) {      options[current++] = "-R";    }    options[current++] = "-O";     options[current++] = getOutputFile().getName();    if (getSplitEvaluator() != null) {      options[current++] = "-W";      options[current++] = getSplitEvaluator().getClass().getName();    }    options[current++] = "--";    System.arraycopy(seOptions, 0, options, current, 		     seOptions.length);    current += seOptions.length;    while (current < options.length) {      options[current++] = "";    }    return options;  }  /**   * Gets a text descrption of the result producer.   *   * @return a text description of the result producer.   */  public String toString() {    String result = "RandomSplitResultProducer: ";    result += getCompatibilityState();    if (m_Instances == null) {      result += ": <null Instances>";    } else {      result += ": " + Utils.backQuoteChars(m_Instances.relationName());    }    return result;  }} // RandomSplitResultProducer

⌨️ 快捷键说明

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