亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? j48.java

?? Java 編寫的多種數據挖掘算法 包括聚類、分類、預處理等
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* *    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. *//* *    J48.java *    Copyright (C) 1999 Eibe Frank * */package weka.classifiers.trees;import weka.classifiers.Classifier;import weka.classifiers.Evaluation;import weka.classifiers.Sourcable;import weka.classifiers.trees.j48.BinC45ModelSelection;import weka.classifiers.trees.j48.C45ModelSelection;import weka.classifiers.trees.j48.C45PruneableClassifierTree;import weka.classifiers.trees.j48.ClassifierTree;import weka.classifiers.trees.j48.ModelSelection;import weka.classifiers.trees.j48.PruneableClassifierTree;import weka.core.AdditionalMeasureProducer;import weka.core.Capabilities;import weka.core.Drawable;import weka.core.Instance;import weka.core.Instances;import weka.core.Matchable;import weka.core.Option;import weka.core.OptionHandler;import weka.core.Summarizable;import weka.core.TechnicalInformation;import weka.core.TechnicalInformation.Type;import weka.core.TechnicalInformation.Field;import weka.core.TechnicalInformationHandler;import weka.core.Utils;import weka.core.WeightedInstancesHandler;import java.util.Enumeration;import java.util.Vector;/** <!-- globalinfo-start --> * Class for generating a pruned or unpruned C4.5 decision tree. For more information, see<br/> * <br/> * Ross Quinlan (1993). C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers, San Mateo, CA. * <p/> <!-- globalinfo-end --> * <!-- technical-bibtex-start --> * BibTeX: * <pre> * &#64;book{Quinlan1993, *    address = {San Mateo, CA}, *    author = {Ross Quinlan}, *    publisher = {Morgan Kaufmann Publishers}, *    title = {C4.5: Programs for Machine Learning}, *    year = {1993} * } * </pre> * <p/> <!-- technical-bibtex-end --> * <!-- options-start --> * Valid options are: <p/> *  * <pre> -U *  Use unpruned tree.</pre> *  * <pre> -C &lt;pruning confidence&gt; *  Set confidence threshold for pruning. *  (default 0.25)</pre> *  * <pre> -M &lt;minimum number of instances&gt; *  Set minimum number of instances per leaf. *  (default 2)</pre> *  * <pre> -R *  Use reduced error pruning.</pre> *  * <pre> -N &lt;number of folds&gt; *  Set number of folds for reduced error *  pruning. One fold is used as pruning set. *  (default 3)</pre> *  * <pre> -B *  Use binary splits only.</pre> *  * <pre> -S *  Don't perform subtree raising.</pre> *  * <pre> -L *  Do not clean up after the tree has been built.</pre> *  * <pre> -A *  Laplace smoothing for predicted probabilities.</pre> *  * <pre> -Q &lt;seed&gt; *  Seed for random data shuffling (default 1).</pre> *  <!-- options-end --> * * @author Eibe Frank (eibe@cs.waikato.ac.nz) * @version $Revision: 1.4 $ */public class J48   extends Classifier   implements OptionHandler, Drawable, Matchable, Sourcable,              WeightedInstancesHandler, Summarizable, AdditionalMeasureProducer,              TechnicalInformationHandler {  /** for serialization */  static final long serialVersionUID = -217733168393644444L;  /** The decision tree */  private ClassifierTree m_root;    /** Unpruned tree? */  private boolean m_unpruned = false;  /** Confidence level */  private float m_CF = 0.25f;  /** Minimum number of instances */  private int m_minNumObj = 2;  /** Determines whether probabilities are smoothed using      Laplace correction when predictions are generated */  private boolean m_useLaplace = false;  /** Use reduced error pruning? */  private boolean m_reducedErrorPruning = false;  /** Number of folds for reduced error pruning. */  private int m_numFolds = 3;  /** Binary splits on nominal attributes? */  private boolean m_binarySplits = false;  /** Subtree raising to be performed? */  private boolean m_subtreeRaising = true;  /** Cleanup after the tree has been built. */  private boolean m_noCleanup = false;  /** Random number seed for reduced-error pruning. */  private int m_Seed = 1;  /**   * Returns a string describing classifier   * @return a description suitable for   * displaying in the explorer/experimenter gui   */  public String globalInfo() {    return  "Class for generating a pruned or unpruned C4.5 decision tree. For more "      + "information, see\n\n"      + getTechnicalInformation().toString();  }  /**   * Returns an instance of a TechnicalInformation object, containing    * detailed information about the technical background of this class,   * e.g., paper reference or book this class is based on.   *    * @return the technical information about this class   */  public TechnicalInformation getTechnicalInformation() {    TechnicalInformation 	result;        result = new TechnicalInformation(Type.BOOK);    result.setValue(Field.AUTHOR, "Ross Quinlan");    result.setValue(Field.YEAR, "1993");    result.setValue(Field.TITLE, "C4.5: Programs for Machine Learning");    result.setValue(Field.PUBLISHER, "Morgan Kaufmann Publishers");    result.setValue(Field.ADDRESS, "San Mateo, CA");        return result;  }  /**   * Returns default capabilities of the classifier.   *   * @return      the capabilities of this classifier   */  public Capabilities getCapabilities() {    Capabilities      result;        try {      if (!m_reducedErrorPruning)        result = new C45PruneableClassifierTree(null, !m_unpruned, m_CF, m_subtreeRaising, !m_noCleanup).getCapabilities();      else        result = new PruneableClassifierTree(null, !m_unpruned, m_numFolds, !m_noCleanup, m_Seed).getCapabilities();    }    catch (Exception e) {      result = new Capabilities(this);    }        result.setOwner(this);        return result;  }    /**   * Generates the classifier.   *   * @param instances the data to train the classifier with   * @throws Exception if classifier can't be built successfully   */  public void buildClassifier(Instances instances)        throws Exception {    ModelSelection modSelection;	     if (m_binarySplits)      modSelection = new BinC45ModelSelection(m_minNumObj, instances);    else      modSelection = new C45ModelSelection(m_minNumObj, instances);    if (!m_reducedErrorPruning)      m_root = new C45PruneableClassifierTree(modSelection, !m_unpruned, m_CF,					    m_subtreeRaising, !m_noCleanup);    else      m_root = new PruneableClassifierTree(modSelection, !m_unpruned, m_numFolds,					   !m_noCleanup, m_Seed);    m_root.buildClassifier(instances);    if (m_binarySplits) {      ((BinC45ModelSelection)modSelection).cleanup();    } else {      ((C45ModelSelection)modSelection).cleanup();    }  }  /**   * Classifies an instance.   *   * @param instance the instance to classify   * @return the classification for the instance   * @throws Exception if instance can't be classified successfully   */  public double classifyInstance(Instance instance) throws Exception {    return m_root.classifyInstance(instance);  }  /**    * Returns class probabilities for an instance.   *   * @param instance the instance to calculate the class probabilities for   * @return the class probabilities   * @throws Exception if distribution can't be computed successfully   */  public final double [] distributionForInstance(Instance instance)        throws Exception {    return m_root.distributionForInstance(instance, m_useLaplace);  }  /**   *  Returns the type of graph this classifier   *  represents.   *  @return Drawable.TREE   */     public int graphType() {      return Drawable.TREE;  }  /**   * Returns graph describing the tree.   *   * @return the graph describing the tree   * @throws Exception if graph can't be computed   */  public String graph() throws Exception {    return m_root.graph();  }  /**   * Returns tree in prefix order.   *   * @return the tree in prefix order   * @throws Exception if something goes wrong   */  public String prefix() throws Exception {        return m_root.prefix();  }  /**   * Returns tree as an if-then statement.   *   * @param className the name of the Java class    * @return the tree as a Java if-then type statement   * @throws Exception if something goes wrong   */  public String toSource(String className) throws Exception {    StringBuffer [] source = m_root.toSource(className);    return     "class " + className + " {\n\n"    +"  public static double classify(Object [] i)\n"    +"    throws Exception {\n\n"    +"    double p = Double.NaN;\n"    + source[0]  // Assignment code    +"    return p;\n"    +"  }\n"    + source[1]  // Support code    +"}\n";  }  /**   * Returns an enumeration describing the available options.   *   * Valid options are: <p>   *   * -U <br>   * Use unpruned tree.<p>   *   * -C confidence <br>   * Set confidence threshold for pruning. (Default: 0.25) <p>   *   * -M number <br>   * Set minimum number of instances per leaf. (Default: 2) <p>   *   * -R <br>   * Use reduced error pruning. No subtree raising is performed. <p>   *   * -N number <br>   * Set number of folds for reduced error pruning. One fold is   * used as the pruning set. (Default: 3) <p>   *   * -B <br>   * Use binary splits for nominal attributes. <p>   *   * -S <br>   * Don't perform subtree raising. <p>   *   * -L <br>   * Do not clean up after the tree has been built.   *   * -A <br>   * If set, Laplace smoothing is used for predicted probabilites. <p>   *   * -Q <br>   * The seed for reduced-error pruning. <p>   *   * @return an enumeration of all the available options.   */  public Enumeration listOptions() {    Vector newVector = new Vector(9);    newVector.	addElement(new Option("\tUse unpruned tree.",			      "U", 0, "-U"));    newVector.	addElement(new Option("\tSet confidence threshold for pruning.\n" +			      "\t(default 0.25)",			      "C", 1, "-C <pruning confidence>"));    newVector.	addElement(new Option("\tSet minimum number of instances per leaf.\n" +			      "\t(default 2)",			      "M", 1, "-M <minimum number of instances>"));    newVector.	addElement(new Option("\tUse reduced error pruning.",			      "R", 0, "-R"));    newVector.	addElement(new Option("\tSet number of folds for reduced error\n" +			      "\tpruning. One fold is used as pruning set.\n" +			      "\t(default 3)",			      "N", 1, "-N <number of folds>"));    newVector.	addElement(new Option("\tUse binary splits only.",			      "B", 0, "-B"));    newVector.        addElement(new Option("\tDon't perform subtree raising.",			      "S", 0, "-S"));    newVector.        addElement(new Option("\tDo not clean up after the tree has been built.",			      "L", 0, "-L"));   newVector.        addElement(new Option("\tLaplace smoothing for predicted probabilities.",			      "A", 0, "-A"));    newVector.      addElement(new Option("\tSeed for random data shuffling (default 1).",			    "Q", 1, "-Q <seed>"));    return newVector.elements();  }  /**   * Parses a given list of options.   *    <!-- options-start -->   * Valid options are: <p/>   *    * <pre> -U   *  Use unpruned tree.</pre>   *    * <pre> -C &lt;pruning confidence&gt;   *  Set confidence threshold for pruning.   *  (default 0.25)</pre>   *    * <pre> -M &lt;minimum number of instances&gt;   *  Set minimum number of instances per leaf.   *  (default 2)</pre>   *    * <pre> -R   *  Use reduced error pruning.</pre>   *    * <pre> -N &lt;number of folds&gt;   *  Set number of folds for reduced error   *  pruning. One fold is used as pruning set.   *  (default 3)</pre>   *    * <pre> -B   *  Use binary splits only.</pre>   *    * <pre> -S   *  Don't perform subtree raising.</pre>   *    * <pre> -L   *  Do not clean up after the tree has been built.</pre>   *    * <pre> -A   *  Laplace smoothing for predicted probabilities.</pre>   *    * <pre> -Q &lt;seed&gt;   *  Seed for random data shuffling (default 1).</pre>   *    <!-- options-end -->   *   * @param options the list of options as an array of strings   * @throws Exception if an option is not supported   */  public void setOptions(String[] options) throws Exception {        // Other options    String minNumString = Utils.getOption('M', options);    if (minNumString.length() != 0) {      m_minNumObj = Integer.parseInt(minNumString);    } else {      m_minNumObj = 2;    }    m_binarySplits = Utils.getFlag('B', options);    m_useLaplace = Utils.getFlag('A', options);    // Pruning options    m_unpruned = Utils.getFlag('U', options);    m_subtreeRaising = !Utils.getFlag('S', options);    m_noCleanup = Utils.getFlag('L', options);    if ((m_unpruned) && (!m_subtreeRaising)) {      throw new Exception("Subtree raising doesn't need to be unset for unpruned tree!");    }    m_reducedErrorPruning = Utils.getFlag('R', options);    if ((m_unpruned) && (m_reducedErrorPruning)) {      throw new Exception("Unpruned tree and reduced error pruning can't be selected " +			  "simultaneously!");    }    String confidenceString = Utils.getOption('C', options);    if (confidenceString.length() != 0) {      if (m_reducedErrorPruning) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品久久久久久| 国产色产综合产在线视频| 亚洲资源在线观看| 欧美日韩综合一区| 免费视频一区二区| 精品福利在线导航| 国产福利91精品| 亚洲欧美日韩国产中文在线| 欧美亚洲国产一区二区三区va | 九九九精品视频| 久久久精品tv| 91蜜桃免费观看视频| 首页国产丝袜综合| 久久久久久久综合狠狠综合| 国产成人午夜精品5599| 亚洲欧美日韩国产综合| 欧美一级高清片| 成人久久视频在线观看| 午夜欧美在线一二页| 久久久青草青青国产亚洲免观| 波多野结衣亚洲一区| 日本不卡一二三| 国产精品三级久久久久三级| 欧美午夜在线一二页| 激情久久五月天| 自拍偷拍国产亚洲| 日韩免费看的电影| 一本色道综合亚洲| 激情六月婷婷综合| 亚洲国产日韩精品| 国产精品伦一区二区三级视频| 欧美午夜免费电影| 成人综合婷婷国产精品久久蜜臀| 亚洲午夜视频在线观看| 亚洲国产成人一区二区三区| 91精品国产欧美一区二区成人| 成人黄页在线观看| 久久福利资源站| 亚洲国产精品久久艾草纯爱| 久久九九99视频| 91精品国产日韩91久久久久久| 99久久精品免费| 国产在线不卡视频| 日韩电影免费在线观看网站| 亚洲欧美视频一区| 国产亚洲短视频| 精品美女一区二区| 欧美日本韩国一区二区三区视频 | 国产酒店精品激情| 日韩成人免费电影| 亚洲精品va在线观看| 国产欧美久久久精品影院| 日韩欧美一级二级三级| 欧美日韩国产高清一区| 色综合天天综合色综合av | 奇米精品一区二区三区在线观看一| 国产精品美日韩| 久久男人中文字幕资源站| 555www色欧美视频| 欧美日韩精品一区二区三区四区 | 亚洲大片一区二区三区| 国产精品久久精品日日| 久久精品欧美一区二区三区麻豆| 69堂国产成人免费视频| 欧美日韩一区二区不卡| 色婷婷精品大在线视频| 日本伦理一区二区| 色综合久久久久| 日本韩国欧美一区| 91丨porny丨首页| 91丨九色porny丨蝌蚪| 成人av片在线观看| av色综合久久天堂av综合| 处破女av一区二区| av午夜一区麻豆| 色综合天天狠狠| 欧美三级午夜理伦三级中视频| 色国产综合视频| 欧美性大战久久| 欧美一区在线视频| 欧美精品一区二区不卡| 国产日韩成人精品| 一色屋精品亚洲香蕉网站| 亚洲欧美自拍偷拍| 一区二区在线免费观看| 天天综合色天天综合色h| 日本女人一区二区三区| 国模套图日韩精品一区二区| 国产69精品一区二区亚洲孕妇| 国产不卡一区视频| 91麻豆6部合集magnet| 日本高清成人免费播放| 欧美视频一区二区三区四区| 日韩一区二区精品在线观看| 久久久夜色精品亚洲| 欧美激情一区二区三区四区| 中文字幕一区二区三区不卡在线 | 亚洲第一久久影院| 亚洲成人在线免费| 免费成人在线网站| 国产精品自产自拍| 色婷婷综合久久久中文一区二区| 欧美日韩一区二区三区免费看| 日韩欧美在线综合网| 久久久久亚洲蜜桃| 亚洲另类在线一区| 美女视频黄免费的久久 | 国产在线精品免费av| 成人自拍视频在线| 欧美综合久久久| 精品国产3级a| 亚洲欧美国产毛片在线| 日本最新不卡在线| 国产精品1024久久| 欧美精选午夜久久久乱码6080| 337p日本欧洲亚洲大胆精品| 亚洲柠檬福利资源导航| 日韩电影免费在线看| 不卡电影一区二区三区| 91精品国产综合久久精品麻豆| 中文字幕欧美区| 青青草97国产精品免费观看无弹窗版| 高清不卡在线观看| 7777精品伊人久久久大香线蕉最新版| 欧美高清在线精品一区| 免费人成黄页网站在线一区二区 | 91免费看视频| 精品va天堂亚洲国产| 亚洲一区二区黄色| 国产成人在线观看免费网站| 欧美日韩国产大片| 中文字幕一区二区三区av| 久久99国产精品麻豆| 在线免费观看视频一区| 中文字幕av一区二区三区| 免费观看在线色综合| 在线观看日韩一区| 国产精品久久久久久一区二区三区 | 日韩一区二区中文字幕| 亚洲色欲色欲www| 国产老肥熟一区二区三区| 欧美日韩国产成人在线91| 亚洲天堂免费在线观看视频| 风间由美一区二区av101| 亚洲精品一区二区三区影院 | 香蕉久久夜色精品国产使用方法 | 国产成人在线视频免费播放| 日韩一区二区麻豆国产| 亚洲va韩国va欧美va精品| 91影院在线观看| 中文字幕中文在线不卡住| 成人开心网精品视频| 国产嫩草影院久久久久| 国产一区二区精品在线观看| 精品欧美久久久| 久久精品国产久精国产爱| 欧美一区二区三区视频在线| 亚洲高清一区二区三区| 欧美日韩另类一区| 午夜私人影院久久久久| 欧美日韩中文字幕精品| 一级特黄大欧美久久久| 欧洲精品在线观看| 亚洲专区一二三| 欧美久久久久中文字幕| 日韩精品免费视频人成| 欧美一区二区三区在线电影| 天天综合日日夜夜精品| 日韩一级精品视频在线观看| 奇米影视在线99精品| 欧美大黄免费观看| 国产黄人亚洲片| 欧美高清在线一区| 一本到不卡免费一区二区| 亚洲午夜久久久久中文字幕久| 欧美日韩不卡一区二区| 日日夜夜精品视频免费 | 国产精品区一区二区三区| 成人av在线播放网站| 亚洲另类在线一区| 欧美日韩精品一二三区| 麻豆91在线播放免费| 国产婷婷精品av在线| yourporn久久国产精品| 亚洲高清视频中文字幕| 日韩欧美在线影院| 福利一区福利二区| 亚洲激情中文1区| 欧美一级高清片在线观看| 国产不卡免费视频| 一区二区三区波多野结衣在线观看| 欧美日本一区二区三区| 国产一区二区调教| 亚洲精品视频一区二区| 欧美一区二区精品| 国产成人一区二区精品非洲| 亚洲精品乱码久久久久久日本蜜臀| 91精品国产一区二区三区蜜臀| 国产成人99久久亚洲综合精品| 一区二区三区四区五区视频在线观看|