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

📄 part.java

📁 代码是一个分类器的实现,其中使用了部分weka的源代码。可以将项目导入eclipse运行
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    // Pruning options    m_unpruned = Utils.getFlag('U', options);    m_reducedErrorPruning = Utils.getFlag('R', options);    m_binarySplits = Utils.getFlag('B', options);    String confidenceString = Utils.getOption('C', options);    if (confidenceString.length() != 0) {      if (m_reducedErrorPruning) {	throw new Exception("Setting CF doesn't make sense " +			    "for reduced error pruning.");      } else {	m_CF = (new Float(confidenceString)).floatValue();	if ((m_CF <= 0) || (m_CF >= 1)) {	  throw new Exception("CF has to be greater than zero and smaller than one!");	}       }    } else {      m_CF = 0.25f;    }    String numFoldsString = Utils.getOption('N', options);    if (numFoldsString.length() != 0) {      if (!m_reducedErrorPruning) {	throw new Exception("Setting the number of folds" +			    " does only make sense for" +			    " reduced error pruning.");      } else {	m_numFolds = Integer.parseInt(numFoldsString);      }    } else {      m_numFolds = 3;    }    // Other options    String minNumString = Utils.getOption('M', options);    if (minNumString.length() != 0) {      m_minNumObj = Integer.parseInt(minNumString);    } else {      m_minNumObj = 2;    }    String seedString = Utils.getOption('Q', options);    if (seedString.length() != 0) {      m_Seed = Integer.parseInt(seedString);    } else {      m_Seed = 1;    }  }  /**   * Gets the current settings of the Classifier.   *   * @return an array of strings suitable for passing to setOptions   */  public String [] getOptions() {    String [] options = new String [11];    int current = 0;    if (m_unpruned) {      options[current++] = "-U";    }    if (m_reducedErrorPruning) {      options[current++] = "-R";    }    if (m_binarySplits) {      options[current++] = "-B";    }    options[current++] = "-M"; options[current++] = "" + m_minNumObj;    if (!m_reducedErrorPruning) {      options[current++] = "-C"; options[current++] = "" + m_CF;    }    if (m_reducedErrorPruning) {      options[current++] = "-N"; options[current++] = "" + m_numFolds;    }    options[current++] = "-Q"; options[current++] = "" + m_Seed;    while (current < options.length) {      options[current++] = "";    }    return options;  }  /**   * Returns a description of the classifier   *    * @return a string representation of the classifier   */  public String toString() {    if (m_root == null) {      return "No classifier built";    }    return "PART decision list\n------------------\n\n" + m_root.toString();  }    /**   * Returns a superconcise version of the model   *    * @return a concise version of the model   */  public String toSummaryString() {    return "Number of rules: " + m_root.numRules() + "\n";  }    /**   * Return the number of rules.   * @return the number of rules   */  public double measureNumRules() {    return m_root.numRules();  }    /**   * Returns an enumeration of the additional measure names   * @return an enumeration of the measure names   */  public Enumeration enumerateMeasures() {    Vector newVector = new Vector(1);    newVector.addElement("measureNumRules");    return newVector.elements();  }  /**   * Returns the value of the named measure   * @param additionalMeasureName the name of the measure to query for its value   * @return the value of the named measure   * @throws IllegalArgumentException if the named measure is not supported   */  public double getMeasure(String additionalMeasureName) {    if (additionalMeasureName.compareToIgnoreCase("measureNumRules") == 0) {      return measureNumRules();    } else {      throw new IllegalArgumentException(additionalMeasureName 			  + " not supported (PART)");    }  }  /**   * Returns the tip text for this property   * @return tip text for this property suitable for   * displaying in the explorer/experimenter gui   */  public String confidenceFactorTipText() {    return "The confidence factor used for pruning (smaller values incur "      + "more pruning).";  }  /**   * Get the value of CF.   *   * @return Value of CF.   */  public float getConfidenceFactor() {        return m_CF;  }    /**   * Set the value of CF.   *   * @param v  Value to assign to CF.   */  public void setConfidenceFactor(float v) {        m_CF = v;  }    /**   * Returns the tip text for this property   * @return tip text for this property suitable for   * displaying in the explorer/experimenter gui   */  public String minNumObjTipText() {    return "The minimum number of instances per rule.";  }  /**   * Get the value of minNumObj.   *   * @return Value of minNumObj.   */  public int getMinNumObj() {        return m_minNumObj;  }    /**   * Set the value of minNumObj.   *   * @param v  Value to assign to minNumObj.   */  public void setMinNumObj(int v) {        m_minNumObj = v;  }    /**   * Returns the tip text for this property   * @return tip text for this property suitable for   * displaying in the explorer/experimenter gui   */  public String reducedErrorPruningTipText() {    return "Whether reduced-error pruning is used instead of C.4.5 pruning.";  }  /**   * Get the value of reducedErrorPruning.   *   * @return Value of reducedErrorPruning.   */  public boolean getReducedErrorPruning() {        return m_reducedErrorPruning;  }    /**   * Set the value of reducedErrorPruning.   *   * @param v  Value to assign to reducedErrorPruning.   */  public void setReducedErrorPruning(boolean v) {        m_reducedErrorPruning = v;  }    /**   * Returns the tip text for this property   * @return tip text for this property suitable for   * displaying in the explorer/experimenter gui   */  public String unprunedTipText() {    return "Whether pruning is performed.";  }  /**   * Get the value of unpruned.   *   * @return Value of unpruned.   */  public boolean getUnpruned() {        return m_unpruned;  }    /**   * Set the value of unpruned.   *   * @param newunpruned Value to assign to unpruned.   */  public void setUnpruned(boolean newunpruned) {        m_unpruned = newunpruned;  }    /**   * Returns the tip text for this property   * @return tip text for this property suitable for   * displaying in the explorer/experimenter gui   */  public String numFoldsTipText() {    return "Determines the amount of data used for reduced-error pruning. "      + " One fold is used for pruning, the rest for growing the rules.";  }  /**   * Get the value of numFolds.   *   * @return Value of numFolds.   */  public int getNumFolds() {        return m_numFolds;  }    /**   * Set the value of numFolds.   *   * @param v  Value to assign to numFolds.   */  public void setNumFolds(int v) {        m_numFolds = v;  }    /**   * Returns the tip text for this property   * @return tip text for this property suitable for   * displaying in the explorer/experimenter gui   */  public String seedTipText() {    return "The seed used for randomizing the data " +      "when reduced-error pruning is used.";  }  /**   * Get the value of Seed.   *   * @return Value of Seed.   */  public int getSeed() {        return m_Seed;  }    /**   * Set the value of Seed.   *   * @param newSeed Value to assign to Seed.   */  public void setSeed(int newSeed) {        m_Seed = newSeed;  }  /**   * Returns the tip text for this property   * @return tip text for this property suitable for   * displaying in the explorer/experimenter gui   */  public String binarySplitsTipText() {    return "Whether to use binary splits on nominal attributes when "      + "building the partial trees.";  }    /**   * Get the value of binarySplits.   *   * @return Value of binarySplits.   */  public boolean getBinarySplits() {        return m_binarySplits;  }    /**   * Set the value of binarySplits.   *   * @param v  Value to assign to binarySplits.   */  public void setBinarySplits(boolean v) {        m_binarySplits = v;  }    /**   * Main method for testing this class.   *   * @param argv command line options    */  public static void main(String [] argv){    runClassifier(new PART(), argv);  }}

⌨️ 快捷键说明

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