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

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

?? decisiontree.java

?? 數據倉庫挖掘與開發 ID3算法實現代碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
     * @param node The base node where level assignment will start.
     * @param baseLevel The initial level for the base Node.
     */
    public void assign_subtree_levels(Node node, int baseLevel) {
        //   MLJ.ASSERT(baseLevel != DEFAULT_LEVEL);
        NodeInfo rootInfo = cGraph.node_info(node);
        logOptions.LOG(5, "Replacing level "+rootInfo.level()+" with "+baseLevel+'\n');
        cGraph.node_info(node).set_level(baseLevel);
        Edge iterEdge;
        Edge oldEdge;
        iterEdge = node.first_adj_edge();
        int nextLevel;
        //   if (get_categorizer(node).class_id() == CLASS_MULTI_SPLIT_CATEGORIZER)
        //      nextLevel = baseLevel;
        //   else
        nextLevel = baseLevel + 1;
        while (iterEdge != null) {
            oldEdge = iterEdge;
            iterEdge = oldEdge.adj_succ();
            Node childNode = oldEdge.target();
            assign_subtree_levels(childNode, nextLevel);
        }
    }
    
    /***************************************************************************
  Display this DecisionTree.
@param
@param
@param
@param
     ***************************************************************************
   public void display(boolean hasNodeLosses, boolean hasLossMatrix,
      Writer stream, DisplayPref dp)
   {
      stream.write(display(hasNodeLosses, hasLossMatrix, dp));
   }
 
/***************************************************************************
  Display this DecisionTree.
@param
@param
@param
     ***************************************************************************
   public String display(boolean hasNodeLosses, boolean hasLossMatrix,
      DisplayPref dp)
   {
      String return_value = new String();
   // Note that if the display is XStream, our virtual function gets it
//   if (stream.output_type() == XStream ||
//      dp.preference_type() != DisplayPref::TreeVizDisplay)
//      RootedCatGraph.display(hasNodeLosses, hasLossMatrix, stream, dp);
      else
      {
         String dataName = stream.description() + ".data";
         MLCOStream data(dataName);
         convertToTreeVizFormat(stream, data, dp, hasNodeLosses, hasLossMatrix);
      }
   }
     */
    
/*
/***************************************************************************
  Displays the DecisionTree in TreeVizFormat.
@param
@param
@param
@param
@param
 ***************************************************************************
   public void convertToTreeVizFormat(Writer conf, Writer data,
      DisplayPref displayPref,
      boolean hasNodeLosses,
      boolean hasLossMatrix) throws IOException
   {
      Node rootNode = get_root(true);
 
      NodeCategorizer cat = get_categorizer(rootNode);
      Schema schema = cat.get_schema();
      NominalAttrInfo nai = schema.nominal_label_info();
      int numLabelValues = nai.num_values();
      MLJ.ASSERT(numLabelValues >= 1,"DecisionTree::convertToTreeVizFormat:numLabelValues < 1");
   // Avoid log of 1, which is a scale of zero, and causes division
   //    by zero.
      double scale = MLJ.log_bin(Math.max(numLabelValues, 2));
      int[] permLabels = schema.sort_labels(); // permuted labels
 
      boolean dispBackfitDisks =
         displayPref.typecast_to_treeViz().get_display_backfit_disks();
      write_subtree(get_log_options(), scale, data, permLabels,
         Globals.EMPTY_STRING, Globals.EMPTY_STRING, this, rootNode,
         dispBackfitDisks, hasNodeLosses, hasLossMatrix);
 
      String protectedLabelName = new String(Globals.SINGLE_QUOTE + MLJ.protect(nai.name(),"`\\")
         + Globals.SINGLE_QUOTE);
 
      conf.write(minesetVersionStr + "\n");
      conf.write("# MLC++ generated file for MineSet Tree Visualizer.\n"
         + "input {\n"
         + "\t file \"" + data.description() + "\";\n"
         + "\t options backslash on;\n"
         + "\t key string " + protectedLabelName + " {\n");
 
      for (int i = 0; i < numLabelValues; i++)
      {
         conf.write("\t\t " + nai.get_value(permLabels[i]).quote());
         if (i != numLabelValues - 1)
            conf.write(",");
         conf.write("\n");
      }
      permLabels = null;
 
 
      conf.write("\t };\n"
         + "\t expression `Node label`[] separator ':';\n"
         + "\t string `Test attribute`;\n"
         + "\t string `Test value`;\n"
         + "\t float `Subtree weight` [" + protectedLabelName
         + "] separator ',' ;\n"
         + "\t float Percent [" + protectedLabelName + "] separator ',' ;\n");
      if (dispBackfitDisks)
         conf.write("\t float OriginalDist [" + protectedLabelName
           + "] separator ',' ;\n");
      conf.write("\t float Purity;\n");
 
      if (hasNodeLosses)
      {
         conf.write("\t float `Test-set subtree weight`;\n");
         if (hasLossMatrix)
            conf.write("\t float `Test-set loss`;\n"
               + "\t float `Mean loss std-dev`;\n");
         else
            conf.write("\t float `Test-set error`;\n"
               + "\t float `Mean err std-dev`;\n");
      }
 
      conf.write("}\n\n");
 
      conf.write("hierarchy {\n"
         + "\t levels `Node label`;\n"
         + "\t key `Subtree weight`;\n"
         + "\t aggregate base {\n"
         + "\t\t sum `Subtree weight`;\n");
      if (dispBackfitDisks)
         conf.write("\t\t sum `OriginalDist`;\n");
      conf.write("\t\t any Purity;\n"
         + "\t\t any `Test attribute`;\n"
         + "\t\t any `Test value`;\n");
 
      if (hasNodeLosses)
      {
         conf.write("\t\t any `Test-set subtree weight`;\n");
         if (hasLossMatrix)
            conf.write("\t\t any `Test-set loss`;\n"
               + "\t\t any `Mean loss std-dev`;\n");
         else
            conf.write("\t\t any `Test-set error`;\n"
               + "\t\t any `Mean err std-dev`;\n");
      }
 
      conf.write("\t }\n"
         + "\t options organization same;\n"
         + "}\n");
 
   // Pick the midpoint entropy color to be 3/4 versus 1/4 for two class probs.
   // This just makes the color scale much better then 50, which requires
   // 89% versus 11% to be the middle color.
      double[] typicalMix = new double[2];
      typicalMix[0] = 3;
      typicalMix[1] = 1;
      DoubleRef midPointEnt = new DoubleRef(100 - Entropy.entropy(typicalMix)*100 / scale);
      MLJ.clamp_to_range(midPointEnt, 0, 100,
         "DecisionTree::convertToTreeVizFormat: mid-point does "
         + "not clamp to range [0-100]");
 
      MLJ.ASSERT(schema.num_label_values() > 0,"DecisionTree::"
         + "convertToTreeVizFormat:schema.num_label_values() <= 0");
   // Even though nulls are never used, we want to distinguish
   // them in case somebody changes anything.  They're therefore hidden.
      conf.write("view hierarchy landscape {\n"
         + "\t height `Subtree weight`, normalize, max 5.0;\n");
      if (dispBackfitDisks)
         conf.write("\t disk height `OriginalDist`;\n");
      conf.write("\t base height max 2.0;\n"
         + "\t base label `Test attribute`;\n"
         + "\t line label `Test value`;\n"
         + "\t color key;\n");
      //   	   "\t base color legend label \"Purity\";\n"
      //     "\t base color Purity, "
      //     "colors \"red\" \"yellow\" \"green\""
      //           ", scale 0 " << midPointEnt << " 100, legend on;\n"
      //     "\t base color legend \"impure\" \"mixed\" \"pure\";\n"
      if (hasNodeLosses)
      {
         double min = 0;
         double max = 0;
         loss_min_max(this, min, max);
         if (max - min < 0.01)
         max += 0.01; // Avoid cases where both are zero and we rely
                      // on a treeviz tiebreaker (happens in mushroom).
         NodeLoss rootLoss = get_categorizer(rootNode).get_loss();
         double medColor = suggest_mid(min, max, rootLoss.totalWeight,
            rootLoss.totalLoss);
 
         if (!hasLossMatrix)
         {
            min *= 100;
            max *= 100;
            medColor *=100;
         }
 
         if (hasLossMatrix)
         conf.write("\t base color legend label \"Test-set loss\";\n"
            + "\t base color `Test-set loss`, ");
         else
            conf.write("\t base color legend label \"Test-set error\";\n"
            + "\t base color `Test-set error`, ");
 
 
         conf.write("colors \"green\" \"yellow\" \"red\""
            + ", scale " + min + " " + medColor
            + " " + max + ", legend on;\n"
            + "\t base color legend \"low ("
            + MLJ.numberToString(min,2) + ")\" \"medium ("
            + MLJ.numberToString(medColor,2) + ")\" \"high ("
            + MLJ.numberToString(max,2) + ")\";\n");
      }
      conf.write("\t options rows 1;\n"
         + "\t options root label \"\";\n"
         + "\t options initial depth 4;\n"
            // Don't show bar labels, so the level of details is far
         + "\t options lod bar label 10000;\n"
         + "\t options zero outline;\n"
         + "\t options null hidden;\n");
 
      conf.write("\t base message \"Subtree weight:%.2f, ");
      String lossMetric = hasLossMatrix ? "loss" : "error";
      String shortLossMetric = hasLossMatrix ? "loss" : "err";
      if (hasNodeLosses)
         conf.write("test-set " + lossMetric + ":%.2f+-%.2f, "
            + " test-set weight:%.2f, ");
      if (dispBackfitDisks)
         conf.write("training-set weight: %.2f, ");
      conf.write("purity:%.2f\", `Subtree weight`, ");
         if (hasNodeLosses)
      conf.write("`Test-set " + lossMetric + "`, "
         + "`Mean " + shortLossMetric + " std-dev`, "
         + "`Test-set subtree weight`, ");
      if (dispBackfitDisks)
         conf.write("`OriginalDist`, ");
      conf.write("Purity;\n");
 
      conf.write("\t message \"Subtree weight for label value:%.2f, percent:%.2f");
      if (dispBackfitDisks)
         conf.write(", training-set weight:%.2f");
      conf.write("\", `Subtree weight`, Percent");
      if (dispBackfitDisks)
         conf.write(", `OriginalDist`");
      conf.write(";\n}\n");
   }
 */
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线免费观看不卡av| 男女男精品视频| 在线不卡a资源高清| 在线观看欧美黄色| 欧美日韩视频专区在线播放| 一本一道久久a久久精品综合蜜臀| 成人av小说网| 99久久久免费精品国产一区二区| 成人av综合一区| 色哟哟亚洲精品| 欧美日韩一区二区在线视频| 欧美日韩性生活| 精品国产3级a| 国产精品美女久久久久久久久久久 | 欧美一区二区三区视频免费| 欧美色视频一区| 日韩精品一区二区三区在线观看 | 国产盗摄视频一区二区三区| 精品无人码麻豆乱码1区2区| 国产伦精一区二区三区| 成人美女在线视频| 欧美视频三区在线播放| 日韩欧美激情四射| 国产精品嫩草影院com| 亚洲午夜电影在线观看| 麻豆精品在线播放| 99国产精品一区| 欧美一级免费大片| 中文字幕一区在线观看| 丝袜美腿亚洲一区| 粉嫩aⅴ一区二区三区四区| 日本高清不卡视频| 久久免费电影网| 亚洲综合激情网| 国产精品一线二线三线精华| 91成人免费电影| 国产性做久久久久久| 亚洲成人免费视频| 成人永久免费视频| 日韩欧美在线一区二区三区| 欧美国产日韩a欧美在线观看 | 久久福利视频一区二区| 91啪亚洲精品| 国产午夜亚洲精品午夜鲁丝片| 亚洲精品视频自拍| 成人国产免费视频| 2021中文字幕一区亚洲| 亚洲日本va午夜在线影院| 久久草av在线| 欧美日韩国产在线播放网站| 亚洲国产精品高清| 国产在线视频精品一区| 6080亚洲精品一区二区| 最好看的中文字幕久久| 国产成人一区二区精品非洲| 日韩午夜三级在线| 日韩av不卡在线观看| 色天使色偷偷av一区二区| 国产欧美视频在线观看| 极品少妇一区二区三区精品视频| 欧美亚洲禁片免费| 伊人婷婷欧美激情| 色婷婷亚洲一区二区三区| 国产精品少妇自拍| 国产精品99久久久久久久女警| 日韩三级高清在线| 久久9热精品视频| 日韩精品中午字幕| 久久成人18免费观看| 欧美va亚洲va| 狠狠狠色丁香婷婷综合激情 | 欧美手机在线视频| 一区二区三区在线观看网站| 色婷婷av一区二区| 亚洲午夜精品一区二区三区他趣| 91久久线看在观草草青青| 亚洲欧美日韩国产综合| 色狠狠av一区二区三区| 亚洲精品国产一区二区精华液| 色女孩综合影院| 一区二区高清免费观看影视大全| 91精品1区2区| 亚洲国产日韩a在线播放| 91.com视频| 国产精品夜夜爽| 国产精品短视频| 91黄色激情网站| 日本欧美肥老太交大片| 欧美成va人片在线观看| 国产大陆精品国产| 亚洲色图欧美在线| 欧美日韩国产综合久久 | 亚洲视频香蕉人妖| 欧美三级日韩三级国产三级| 天堂一区二区在线| 久久亚洲一级片| 99v久久综合狠狠综合久久| 亚洲精品视频免费看| 日韩欧美中文字幕一区| 成人精品电影在线观看| 亚洲自拍偷拍图区| 精品不卡在线视频| 91美女视频网站| 日本系列欧美系列| 国产精品国产三级国产普通话99 | 国产婷婷精品av在线| 成人av电影在线播放| 亚洲图片欧美综合| 国产日韩影视精品| 欧美精品一卡两卡| 不卡欧美aaaaa| 天天射综合影视| 日韩一区中文字幕| 日韩精品一区二区三区在线观看| 99热这里都是精品| 久久国产夜色精品鲁鲁99| 一区二区三区在线不卡| 精品三级在线观看| 欧美无乱码久久久免费午夜一区| 国产精品99久久久久久似苏梦涵| 亚洲一区欧美一区| 国产精品久久久久久久久久免费看| 欧美日韩在线播放三区| 成人晚上爱看视频| 麻豆国产精品777777在线| 一区二区三区加勒比av| 久久久久久久久久久99999| 精品婷婷伊人一区三区三| 99精品在线免费| 国产成人三级在线观看| 蜜桃av一区二区在线观看| 亚洲资源在线观看| 1000精品久久久久久久久| 久久久久久久久久久电影| 日韩精品一区二| 9191久久久久久久久久久| 在线一区二区三区四区五区| 北岛玲一区二区三区四区| 国产一区二区三区四区五区美女| 日韩电影在线免费看| 午夜精品福利一区二区蜜股av| 综合自拍亚洲综合图不卡区| 国产欧美一区二区三区在线看蜜臀| 日韩欧美一区中文| 日韩欧美不卡一区| 日韩欧美在线综合网| 日韩欧美一区在线| 91精品欧美一区二区三区综合在| 色天天综合色天天久久| 色久综合一二码| 欧洲中文字幕精品| 欧美日韩亚洲丝袜制服| 欧美日本韩国一区二区三区视频| 欧美综合在线视频| 欧美老肥妇做.爰bbww视频| 欧美日韩免费电影| 91精品国产色综合久久不卡蜜臀| 欧美精品久久一区| 日韩欧美成人午夜| 国产欧美综合色| 中文字幕日本不卡| 一区二区三区四区视频精品免费| 亚洲综合男人的天堂| 亚洲国产综合色| 九九视频精品免费| 国产suv精品一区二区三区| thepron国产精品| 色呦呦日韩精品| 91精品国产91热久久久做人人| 日韩免费高清视频| 国产精品女上位| 亚洲综合清纯丝袜自拍| 日av在线不卡| 国产精品538一区二区在线| av在线播放一区二区三区| 欧美做爰猛烈大尺度电影无法无天| 欧美精品色一区二区三区| 欧美精品一区二区三区四区| 国产精品久久久久一区| 亚洲韩国一区二区三区| 精品亚洲国内自在自线福利| 成人精品国产一区二区4080| 欧美揉bbbbb揉bbbbb| 精品精品欲导航| 亚洲视频一区二区免费在线观看| 五月激情六月综合| 国产成人8x视频一区二区| 欧美视频一二三区| 日本一区二区三区电影| 亚洲狠狠爱一区二区三区| 国产尤物一区二区在线| 欧美性淫爽ww久久久久无| 欧美精品一区二区三| 日本不卡视频在线| 成人高清av在线| 欧美xxxxxxxxx| 婷婷开心激情综合| 99久久综合精品| 久久久亚洲精品一区二区三区| 亚洲在线视频免费观看|