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

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

?? tddtinducer.java

?? java數據挖掘算法
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
    * @return The evidence correction factor.
    */
   public double get_evidence_factor() { return tddtOptions.evidenceFactor; }
 
   /** Returns whether there are continuous attributes present in the data.
    * @return TRUE indicates there are continuous attributes in the data, FALSE otherwise.
    */
   public boolean get_have_continuous_attributes()
      { return haveContinuousAttributes; }

   /** Sets whether there are continuous attributes present in the data.
    * @param val TRUE indicates there are continuous attributes in the data, FALSE otherwise.
    */
   public void set_have_continuous_attributes(boolean val)
      { haveContinuousAttributes = val; }

   /** Accesses the debug variable.
    * @return TRUE if debugging statements are active, FALSE otherwise.
    */
   public boolean get_debug() { return tddtOptions.debug; }

   /** Sets the debugging option.
    * @param val TRUE if debugging statements are active, FALSE otherwise.
    */
   public void set_debug(boolean val) { tddtOptions.debug = val; }

   /** Sets the evaluation metric used.
    * @param metric The evaluation metric to be used.
    */
   public void set_evaluation_metric(byte metric)
      { tddtOptions.evaluationMetric = metric; }

   /** Accesses  the evaluation metric used.
    * @return The evaluation metric to be used.
    */
   public byte get_evaluation_metric() 
      { return tddtOptions.evaluationMetric; }

   /** Sets statistical information about the tree. This information consists of the total
    * number of nontrivial nodes and the total number of attributes.
    */
   protected void accumulate_tree_stats()
   {
      //ASSERT(decisionTreeCat);
      totalNodesNum += num_nontrivial_nodes();
      if(class_id() == ID3_INDUCER || class_id() == SGI_DT_INDUCER)
         totalAttr += 
	    decisionTreeCat.rooted_cat_graph().num_attr(TS.num_attr());
      callCount++;
   }

   /** Copies the option settings from the given TDDTInducer.
    * @param inducer The TDDTInducer with the options to be copied.
    */
   public void copy_options(TDDTInducer inducer)
   {
      // Copy the continuous attributes flag
      set_have_continuous_attributes(inducer.get_have_continuous_attributes());

      logOptions.set_log_options(inducer.logOptions.get_log_options());
      set_max_level(inducer.get_max_level());
      set_lower_bound_min_split_weight(
         inducer.get_lower_bound_min_split_weight());
      set_upper_bound_min_split_weight(
         inducer.get_upper_bound_min_split_weight());
      set_min_split_weight_percent(inducer.get_min_split_weight_percent());
      set_nominal_lbound_only(inducer.get_nominal_lbound_only());
      set_debug(inducer.get_debug());
      set_unknown_edges(inducer.get_unknown_edges());
      set_split_score_criterion(inducer.get_split_score_criterion());
      set_empty_node_parent_dist(inducer.get_empty_node_parent_dist());
      set_parent_tie_breaking(inducer.get_parent_tie_breaking());
      set_pruning_method(inducer.get_pruning_method());
      set_pruning_branch_replacement(inducer.get_pruning_branch_replacement());
      set_adjust_thresholds(inducer.get_adjust_thresholds());
      set_pruning_factor(inducer.get_pruning_factor());
      set_cont_mdl_adjust(inducer.get_cont_mdl_adjust());
      set_smooth_inst(inducer.get_smooth_inst());
      set_smooth_factor(inducer.get_smooth_factor());
      set_leaf_dist_type(inducer.get_leaf_dist_type());
      set_m_estimate_factor(inducer.get_m_estimate_factor());
      set_evidence_factor(inducer.get_evidence_factor());
      set_evaluation_metric(inducer.get_evaluation_metric());

   }

   /** Sets the user options according to the option file.
    * @param prefix The prefix for the option names.
    */   
   public void set_user_options(String prefix){
       tddtOptions.maxLevel = getEnv.get_option_int(prefix + "MAX_LEVEL",
       tddtOptions.maxLevel, MAX_LEVEL_HELP, true, false);
/*       tddtOptions.pruningMethod = get_option_enum(prefix + "PRUNING_METHOD",
           pruningMethodEnum,tddtOptions.pruningMethod, PRUNING_METHOD_HELP, false);
*/       if (tddtOptions.pruningMethod != TDDTInducer.none) {
           tddtOptions.pruningFactor = getEnv.get_option_real(prefix + "PRUNING_FACTOR",
               tddtOptions.pruningFactor, PRUNING_FACTOR_HELP, true, false);
       }
       tddtOptions.lowerBoundMinSplitWeight = getEnv.get_option_real(
           prefix + "LBOUND_MIN_SPLIT",tddtOptions.lowerBoundMinSplitWeight,
           LB_MSW_HELP, true);
       tddtOptions.upperBoundMinSplitWeight = getEnv.get_option_real(
           prefix + "UBOUND_MIN_SPLIT",Math.max(tddtOptions.upperBoundMinSplitWeight,
           tddtOptions.lowerBoundMinSplitWeight),UB_MSW_HELP, true);
       if (tddtOptions.upperBoundMinSplitWeight <
       tddtOptions.lowerBoundMinSplitWeight)
           Error.fatalErr("TDDTInducer.set_user_options: upper bound must be >= "
            +"lower bound");
       tddtOptions.minSplitWeightPercent =
       getEnv.get_option_real(prefix + "MIN_SPLIT_WEIGHT",
       tddtOptions.minSplitWeightPercent, MS_WP_HELP, true);
       tddtOptions.nominalLBoundOnly =
       getEnv.get_option_bool(prefix + "NOMINAL_LBOUND_ONLY",
       tddtOptions.nominalLBoundOnly, NOM_LBO_HELP);
       tddtOptions.debug =
       getEnv.get_option_bool(prefix + "DEBUG",
       tddtOptions.debug, DEBUG_HELP, true);
       tddtOptions.unknownEdges =
       getEnv.get_option_bool(prefix + "UNKNOWN_EDGES",
       tddtOptions.unknownEdges, UNKNOWN_EDGES_HELP, true);
/*       tddtOptions.splitScoreCriterion =
       getEnv.get_option_enum(prefix + "SPLIT_BY", SplitScore.splitScoreCriterionEnum,
       tddtOptions.splitScoreCriterion,
       SplitScore.splitScoreCriterionHelp, true);
       // The following is a rare option.  It may be supported by uncommenting
       // the following.  It allows an empty node to get the distribution
       // of the parent, which is what C4.5 does.  However, in C4.5,
       // you can determine that it's an empty node by looking at the
       // instance count, which is what we use when reading C4.5 trees.
       //tddtOptions.emptyNodeParentDist =
       //   get_option_bool(prefix + "EMPTY_NODE_PARENT_DIST",
       //	      tddtOptions.emptyNodeParentDist, EMPTY_NODE_PARENT_DIST_HELP,
       //	      false);
*/       tddtOptions.parentTieBreaking =
       getEnv.get_option_bool(prefix + "PARENT_TIE_BREAKING",
       tddtOptions.parentTieBreaking,
       PARENT_TIE_BREAKING_HELP, false);
       // @@   tddtOptions.pruningBranchReplacement =
       //       get_option_bool(prefix + "PRUNING_BRANCH_REPLACEMENT",
       // 		      tddtOptions.pruningBranchReplacement,
       // 		      PRUNING_BRANCH_REPLACEMENT_HELP,
       // 		      false);
       tddtOptions.pruningBranchReplacement = false;
       tddtOptions.adjustThresholds =
       getEnv.get_option_bool(prefix + "ADJUST_THRESHOLDS",
       tddtOptions.adjustThresholds, ADJUST_THRESHOLDS_HELP,
       false);
       tddtOptions.contMDLAdjust =
       getEnv.get_option_bool(prefix + "CONT_MDL_ADJUST",
       tddtOptions.contMDLAdjust, CONT_MDL_ADJUST_HELP);
       tddtOptions.smoothInst = getEnv.get_option_int(prefix + "SMOOTH_INST",
       tddtOptions.smoothInst,
       SMOOTH_INST_HELP);
       if (tddtOptions.smoothInst != 0)
/*           tddtOptions.smoothFactor = getEnv.get_option_real(prefix + "SMOOTH_FACTOR",
           tddtOptions.smoothFactor,
           SMOOTH_FACTOR_HELP);
       
       tddtOptions.leafDistType = getEnv.get_option_enum(prefix + "LEAF_DIST_TYPE",
       leafDistTypeMEnum,
       tddtOptions.leafDistType,
       LEAF_DIST_TYPE_HELP,
       false);
*/       if(tddtOptions.leafDistType == laplaceCorrection)
           tddtOptions.MEstimateFactor =
           getEnv.get_option_real(prefix + "M_ESTIMATE_FACTOR",
           tddtOptions.MEstimateFactor,
           M_ESTIMATE_FACTOR_HELP, true);
       else if(tddtOptions.leafDistType == evidenceProjection)
           tddtOptions.evidenceFactor =
           getEnv.get_option_real(prefix + "EVIDENCE_FACTOR",
           tddtOptions.evidenceFactor,
           EVIDENCE_FACTOR_HELP, true);
/*       tddtOptions.evaluationMetric =
       getEnv.get_option_enum(prefix + "EVAL_METRIC", evalMetricEnum,
       tddtOptions.evaluationMetric, EVAL_METRIC_HELP, false);
*/
   }

   
   /** Trains the inducer on a stored dataset and collects statistics.
    */
   public void train() 
   {
      train_no_stats();
      accumulate_tree_stats();
   }

   /** Trains the inducer on a stored dataset. No statistical data is
    * collected for the test of the categorizer.
    * @return The number of attributes.
    */
   public int train_no_stats()
   {
      //IFLOG(3, display_options(get_log_stream()));
      has_data();
      //DBG(OK());
      //ASSERT(get_level() == 0); //should never be modified for user created
                                  //inducers.
      decisionTreeCat = null;     //remove any existing tree categorizer.
                                  //OK must be ignored until done. otherwise
				  //we get a freed-memory read (???)
      
      boolean usedAutoLBoundMinSplit = false;

      if(tddtOptions.lowerBoundMinSplitWeight == 0.0) {
         usedAutoLBoundMinSplit = true;
	 tddtOptions.lowerBoundMinSplitWeight = 
	    Entropy.auto_lbound_min_split(TS.total_weight());
	 logOptions.LOG(2, "Auto-setting lbound minSplit to "
	         + tddtOptions.lowerBoundMinSplitWeight);
      }
 
      boolean foundReal = false;
      Schema schema = TS.get_schema();   //SchemaRC

      // Checking for real(continuous) attributes. -JL
      for(int i=0;i<schema.num_attr() && !foundReal; i++)
         foundReal = schema.attr_info(i).can_cast_to_real();
      set_have_continuous_attributes(foundReal);

      // The decision Tree either creates a new graph, or gets ours.
      DecisionTree dTree = null; 
      if(cgraph!=null)
         dTree = new DecisionTree(cgraph);
      else dTree = new DecisionTree();

      // Display the training InstanceList. -JL
      logOptions.LOG(4, "Training with instance list\n" + instance_list().out(false));
      set_total_inst_weight(TS.total_weight());

      boolean saveDribble = GlobalOptions.dribble;
      if(TS.num_instances() <= MIN_INSTLIST_DRIBBLE)
         GlobalOptions.dribble = false;
      else
         logOptions.DRIBBLE("There are over " + MIN_INSTLIST_DRIBBLE 
	                    +" instances in training set. Showing progress");
      
      DoubleRef numErrors =new DoubleRef(0);
      DoubleRef pessimisticErrors =new DoubleRef(0);
      IntRef numLeaves =new IntRef(0);

      int[] tieBreakingOrder = TS.get_distribution_order();

      // Induce_decision_tree returns the root of the created decision tree.
      // The root is set into this TDDTInducer.
      dTree.set_root(induce_decision_tree(dTree.get_graph(), tieBreakingOrder,
                                           numErrors, pessimisticErrors,
					   numLeaves,-1));
      tieBreakingOrder = null;
      logOptions.DRIBBLE("Decision tree classifier has been induced\n");
      GlobalOptions.dribble = saveDribble;

      if (usedAutoLBoundMinSplit)
         tddtOptions.lowerBoundMinSplitWeight = 0.0;

      int numAttr = -1;
      if (class_id() == ID3_INDUCER || class_id() == SGI_DT_INDUCER)
         numAttr = dTree.num_attr(TS.num_attr());

      // Creating a reusable categorizer from the induced tree. -JL
      build_categorizer(dTree);

      if (errorprune) {prune(dTree, dTree.get_root(), instance_list(), true);}
      
//      MLJ.ASSERT(dTree == null,"TDDTInducer.train_no_stats: dTree != null.");
      // Display some information about the induced tree. -JL
      if (numAttr != -1)
         logOptions.LOG(1, "Tree has " + num_nontrivial_nodes() + " nodes, "
             + num_nontrivial_leaves()
             + " leaves, and " + numAttr + " attributes."+'\n');

      RootedCatGraph rcg = decisionTreeCat.rooted_cat_graph();
      //IFLOG(1, show_hist(get_log_stream(), rcg));
      if (get_adjust_thresholds())
         decisionTreeCat.adjust_real_thresholds(instance_list());
	return numAttr;
   }

   /** Returns the number of Nodes that contain no Instances and have only uknown edges
    * leading to them.
    * @return The number of Nodes that contain no Instances and have only uknown edges
    * leading to them.
    */
   public int num_nontrivial_nodes()
   {
      was_trained(true);
      return decisionTreeCat.num_nontrivial_nodes();
   }
   
   /** Returns the number of leaves that contain no Instances and have only uknown edges
    * leading to them.
    * @return The number of leaves that contain no Instances and have only uknown edges

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品视频看| www国产成人| 欧美日韩国产色站一区二区三区| 成人午夜视频福利| 激情综合色播五月| 国产一区二区三区日韩| 丁香六月久久综合狠狠色| 丁香天五香天堂综合| 成人免费毛片嘿嘿连载视频| 成人免费毛片app| jlzzjlzz亚洲日本少妇| 黄色资源网久久资源365| 国产一区免费电影| 成人午夜大片免费观看| 欧美日韩一本到| 日本一区二区三区免费乱视频| 国产精品理论片| 午夜精彩视频在线观看不卡| 日韩av一级片| 91官网在线免费观看| 制服.丝袜.亚洲.中文.综合| 色先锋久久av资源部| 久久亚洲精品国产精品紫薇| 欧美日本在线观看| 亚洲国产经典视频| 欧美一区二区大片| 欧美成人video| 亚洲人成亚洲人成在线观看图片| 日日夜夜免费精品| 91在线一区二区| 欧美日本精品一区二区三区| 欧美一区二区在线不卡| 亚洲色图制服诱惑| 国产一区二区福利| 欧美一级一区二区| 一区二区三区小说| 丁香一区二区三区| 日韩欧美亚洲国产精品字幕久久久| 亚洲欧美另类小说| 国产成人精品亚洲777人妖| 欧美电影一区二区| 亚洲国产日韩a在线播放| 国内精品伊人久久久久影院对白| 在线免费精品视频| 一区二区三区欧美视频| 91麻豆国产香蕉久久精品| 国产无遮挡一区二区三区毛片日本| 午夜伊人狠狠久久| 91精品久久久久久久99蜜桃| 亚洲午夜一区二区| 欧美人狂配大交3d怪物一区| 亚洲不卡在线观看| 色综合久久天天综合网| 中文字幕一区二区三区精华液 | 国产精品三级视频| 国产一区二区在线观看免费| 日韩免费观看高清完整版| 中文字幕亚洲区| 日韩欧美在线1卡| 色综合欧美在线视频区| 国产suv精品一区二区6| 国产精品一区二区不卡| 亚洲一区二区精品视频| 国产精品视频在线看| 久久精品视频一区二区| 精品国产一区二区三区忘忧草| 99久久精品99国产精品| 亚洲一二三四区不卡| 欧美日韩一级片在线观看| 九九国产精品视频| 亚洲激情成人在线| 国产婷婷一区二区| 欧美成人video| 欧美网站一区二区| 高潮精品一区videoshd| 人禽交欧美网站| 依依成人精品视频| 国产欧美一区二区三区鸳鸯浴 | 欧美午夜精品一区二区三区| 国产原创一区二区三区| 亚洲成人中文在线| 轻轻草成人在线| 久色婷婷小香蕉久久| 美女在线观看视频一区二区| 秋霞午夜鲁丝一区二区老狼| 亚洲一区二区三区视频在线| 免费成人小视频| 黑人巨大精品欧美一区| 一区二区三区欧美日| 91视视频在线观看入口直接观看www | 国产精品丝袜一区| 欧美成人午夜电影| 久久免费偷拍视频| 精品久久人人做人人爽| 久久精品一区二区三区不卡| 欧美国产日韩亚洲一区| 国产精品视频免费| 洋洋成人永久网站入口| 蜜臀av亚洲一区中文字幕| 国产在线播放一区二区三区| www.日韩av| 欧美色图在线观看| 欧美大片日本大片免费观看| 久久久久久久久岛国免费| 亚洲视频 欧洲视频| 日韩精品福利网| 色狠狠综合天天综合综合| 日韩一区二区三区免费看 | 91精品综合久久久久久| 国产亚洲女人久久久久毛片| 亚洲黄色小视频| 成人性色生活片| 欧美一区二区三区日韩视频| 亚洲欧洲精品成人久久奇米网| 老司机精品视频在线| 欧美亚洲另类激情小说| 亚洲欧洲av另类| 国产不卡视频在线播放| 日韩欧美精品在线| 日本aⅴ精品一区二区三区| 欧美三级电影精品| 亚洲精品亚洲人成人网在线播放| 毛片不卡一区二区| 欧美一区二区三区思思人| 一级中文字幕一区二区| 9i在线看片成人免费| 中文久久乱码一区二区| 国产成人综合在线观看| 久久久精品中文字幕麻豆发布| 免费成人在线网站| 欧美成人女星排名| 久久99久久久欧美国产| 久久久久久97三级| 风流少妇一区二区| 亚洲日本在线天堂| 欧美人体做爰大胆视频| 久久国内精品自在自线400部| 91精品婷婷国产综合久久竹菊| 五月综合激情婷婷六月色窝| 日韩视频国产视频| 亚洲精品老司机| 99久久国产综合色|国产精品| 亚洲欧美视频在线观看| 91精品国产色综合久久不卡电影| 一二三四区精品视频| 日韩精品中文字幕一区| 国产成人在线网站| 亚洲国产wwwccc36天堂| 国产亚洲欧洲一区高清在线观看| 成人动漫一区二区在线| 日韩成人免费电影| 1024成人网色www| 久久综合狠狠综合久久激情| 中文字幕国产一区| 成人h动漫精品一区二| 99久久99久久综合| 国产精品综合久久| 午夜亚洲国产au精品一区二区| 亚洲国产一区视频| 亚洲va天堂va国产va久| 午夜久久福利影院| 美女视频黄a大片欧美| 久久99精品国产.久久久久久| 精品一区二区日韩| 国产精品77777| 99久久久国产精品| 色婷婷国产精品| 91精品国产综合久久香蕉麻豆 | 成人性视频免费网站| 黑人巨大精品欧美黑白配亚洲| 蜜臀久久久久久久| 久久精品国产一区二区三区免费看| 日本少妇一区二区| 国产中文一区二区三区| 国产一区二区三区在线观看精品 | 日韩一区欧美小说| 伊人一区二区三区| 精品亚洲成a人| www.av亚洲| 欧美一区二区日韩| 国产日韩欧美高清| 亚洲一本大道在线| 成人手机在线视频| 成人app软件下载大全免费| 欧美综合欧美视频| 久久久精品黄色| 日韩在线一二三区| 成人永久aaa| 日韩你懂的电影在线观看| 欧美激情中文字幕一区二区| 三级在线观看一区二区| 成人理论电影网| 国产色一区二区| 麻豆精品新av中文字幕| 欧美性欧美巨大黑白大战| 欧美精品久久99久久在免费线| 欧美经典一区二区| 美女视频黄频大全不卡视频在线播放| 91看片淫黄大片一级在线观看| 日韩免费在线观看|