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

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

?? coclustering.cc

?? 一種聚類算法,名字是cocluster
?? CC
?? 第 1 頁 / 共 3 頁
字號:
      ev.printCM(dumpFile);    ev.purity_Entropy_MutInfo(dumpFile, isShowingEachCluster);    ev.F_measure(dumpFile);    ev.micro_avg_precision_recall(rowPrecision, rowRecall, dumpFile);  }*/  if (dumpLevel >= MINIMUM_DUMP_LEVEL)		// Don't need to check, but...    cout << endl << "  ### External Row Cluster Validation ###" << endl << endl;  if (dumpAccessMode != NO_OPEN_MODE)    dumpFile << endl << "  ### External Row Cluster Validation ###" << endl << endl;  if (statisticsAccessMode != NO_OPEN_MODE)    statisticsFile << endl << "  ### External Row Cluster Validation ###" << endl << endl;  if (isShowingEachCluster){      ev.printCM(cout);      ev.printCM(dumpFile);      ev.printCM(statisticsFile);  }  ev.purity_Entropy_MutInfo(isShowingEachCluster, cout, dumpFile, statisticsFile);  ev.F_measure(cout, dumpFile, statisticsFile);  ev.micro_avg_precision_recall(rowPrecision, rowRecall, cout, dumpFile, statisticsFile);  ev.getAccuracy(rowAccuracy, cout, dumpFile, statisticsFile);}void Coclustering::validateColCluster(int numColClass, int *colClassLabel){  ExternalValidity ev(numColClass, numColCluster, numCol, colClassLabel, colCL);/*//  if (dumpLevel > MINIMUM_DUMP_LEVEL){    cout << endl << "  ### External Column Cluster Validation ###" << endl << endl;    if (isShowingEachCluster)      ev.printCM(cout);    ev.purity_Entropy_MutInfo(cout, isShowingEachCluster);    ev.F_measure(cout);    ev.micro_avg_precision_recall(rowPrecision, rowRecall, cout);//  }  if (statisticsAccessMode != NO_OPEN_MODE){    statisticsFile << endl << "  ### External Column Cluster Validation ###" << endl << endl;    if (isShowingEachCluster)      ev.printCM(statisticsFile);    ev.purity_Entropy_MutInfo(statisticsFile, isShowingEachCluster);    ev.F_measure(statisticsFile);    ev.micro_avg_precision_recall(rowPrecision, rowRecall, statisticsFile);  }  if (dumpAccessMode != NO_OPEN_MODE){    dumpFile << endl << "  ### External Column Cluster Validation ###" << endl << endl;    if (isShowingEachCluster)      ev.printCM(dumpFile);    ev.purity_Entropy_MutInfo(dumpFile, isShowingEachCluster);    ev.F_measure(dumpFile);    ev.micro_avg_precision_recall(rowPrecision, rowRecall, dumpFile);  }*/  if (dumpLevel >= MINIMUM_DUMP_LEVEL)		// Don't need to check, but...    cout << endl << "  ### External Column Cluster Validation ###" << endl << endl;  if (dumpAccessMode != NO_OPEN_MODE)    dumpFile << endl << "  ### External Column Cluster Validation ###" << endl << endl;  if (statisticsAccessMode != NO_OPEN_MODE)    statisticsFile << endl << "  ### External Column Cluster Validation ###" << endl << endl;  if (isShowingEachCluster){      ev.printCM(cout);      ev.printCM(dumpFile);      ev.printCM(statisticsFile);  }  ev.purity_Entropy_MutInfo(isShowingEachCluster, cout, dumpFile, statisticsFile);  ev.F_measure(cout, dumpFile, statisticsFile);  ev.micro_avg_precision_recall(colPrecision, colRecall, cout, dumpFile, statisticsFile);  ev.getAccuracy(colAccuracy, cout, dumpFile, statisticsFile);}double Coclustering::getRowPrecision(){  return rowPrecision;}double Coclustering::getRowRecall(){  return rowRecall;}double Coclustering::getRowAccuracy(){  return rowAccuracy;}double Coclustering::getColPrecision(){  return colPrecision;}double Coclustering::getColRecall(){  return colRecall;}double Coclustering::getColAccuracy(){  return colAccuracy;}void Coclustering::clearMark4Row(){  for (int i = 0; i < numRow; i++)    isRowMarked[i] = false;}void Coclustering::clearMark4Col(){  for (int i = 0; i < numCol; i++)    isColMarked[i] = false;}void Coclustering::checkDumpLevel4Cocluster(ostream &os){   if (dumpLevel == MAXIMUM_DUMP_LEVEL){    os << "  Row cluster labels:" << endl;    os << "  ";    for (int r = 0; r < numRow; r++)      os << rowCL[r] << " ";    os << endl << "  Col cluster labels:" << endl;    os << "  ";    for (int c = 0; c < numCol; c++)      os << colCL[c] << " ";    os << endl << "  Compressed matrix:" << endl;    for (int rc = 0; rc < numRowCluster; rc++){      os << "  ";      for (int cc = 0; cc < numColCluster; cc++)        os << Acompressed[rc][cc] << " ";      os << endl;    }  }}void Coclustering::checkDumpLevel4InitialObjectValue(){  switch (dumpLevel){    case MINIMUM_DUMP_LEVEL:    case MAXIMUM_DUMP_LEVEL:      break;    case BATCH_UPDATE_DUMP_LEVEL:    case LOCAL_SEARCH_DUMP_LEVEL:      cout << classPrefix << "Initial Objective Function Value = " << objValue << endl;      break;  }  if (objectiveAccessMode != NO_OPEN_MODE)    objectiveFile << "0 " << objValue << endl;  if (isComputingOneWayObjective){    switch (dumpLevel){      case MINIMUM_DUMP_LEVEL:        break;      case BATCH_UPDATE_DUMP_LEVEL:      case LOCAL_SEARCH_DUMP_LEVEL:        cout << classPrefix << "Initial Obj.Func. of one-way Row = " << objValue4RowCluster << endl;        cout << classPrefix << "Initial Obj.Func. of one-way Col = " << objValue4ColCluster << endl;        break;      case MAXIMUM_DUMP_LEVEL:        dumpFile << classPrefix << "Initial Obj.Func. of one-way Row = " << objValue4RowCluster << endl;        dumpFile << classPrefix << "Initial Obj.Func. of one-way Col = " << objValue4ColCluster << endl;        break;    }    if (statisticsAccessMode != NO_OPEN_MODE){      statisticsFile << classPrefix << "Initial Obj.Func. of one-way Row = " << objValue4RowCluster << endl;      statisticsFile << classPrefix << "Initial Obj.Func. of one-way Col = " << objValue4ColCluster << endl;    }   }    }void Coclustering::checkDumpLevel4FinalObjectValue(){  switch (dumpLevel){    case MINIMUM_DUMP_LEVEL:    case MAXIMUM_DUMP_LEVEL:      break;    case BATCH_UPDATE_DUMP_LEVEL:    case LOCAL_SEARCH_DUMP_LEVEL:      cout << classPrefix << "Final Objective Function Value   = " << objValue << endl;      break;  }}void Coclustering::checkDumpLevel4Centroid(double **centroid, int row, int col){  if (dumpLevel == MAXIMUM_DUMP_LEVEL){    char *title = NULL;    if (row == numRowCluster && col == numCol){      title = ROW_CENTROID;    } else if (row == numColCluster && col == numRow){      title = COL_CENTROID;    } else {      cout << "  Invalid argument in checkDumpLevel4Centroid(): " << row << " " << col << endl;      dumpFile << "  Invalid argument in checkDumpLevel4Centroid(): " << row << " " << col << endl;      exit(EXIT_FAILURE);    }    dumpFile << endl << title << endl;    for (int r = 0; r < row; r++){      dumpFile << "  ";      for (int c = 0; c < col; c++)	dumpFile << centroid[r][c] << " ";      dumpFile << endl;    }    dumpFile << endl;  }}void Coclustering::checkDumpLevel4NumOfChange(char *token, int numChange){  switch (dumpLevel){    case MINIMUM_DUMP_LEVEL:    case BATCH_UPDATE_DUMP_LEVEL:      break;    case LOCAL_SEARCH_DUMP_LEVEL:      cout << "  ### " << numChange << " " << token << " changing cluster label(s) ###" << endl;      break;    case MAXIMUM_DUMP_LEVEL:      dumpFile << "  ### " << numChange << " " << token << " changing cluster label(s) ###" << endl;      break;  }}void Coclustering::checkDumpLevel4ReversedRow(){  if (isTakingReverse){    computeNumReversedRow();    switch (dumpLevel){      case MINIMUM_DUMP_LEVEL:      case BATCH_UPDATE_DUMP_LEVEL:        break;      case LOCAL_SEARCH_DUMP_LEVEL:        cout << "  ### " << numReversedRow << " reversed row(s) ###" << endl;        break;      case MAXIMUM_DUMP_LEVEL:        for (int i = 0; i < numRow; i++){          if (isReversed[i])            dumpFile << "-";          dumpFile << i << ", ";        }        dumpFile << endl;        dumpFile << "  ### " << numReversedRow << " reversed row(s) ###" << endl;        break;    }    if (statisticsAccessMode != NO_OPEN_MODE)      statisticsFile << "  ### " << numReversedRow << " reversed row(s) ###" << endl;  }}void Coclustering::checkDumpLevel4BatchUpdate(char *token){  switch (dumpLevel){    case MINIMUM_DUMP_LEVEL:      break;    case BATCH_UPDATE_DUMP_LEVEL:    case LOCAL_SEARCH_DUMP_LEVEL:      cout << classPrefix << token << "BatchUpdate()" << endl;      break;    case MAXIMUM_DUMP_LEVEL:      dumpFile << classPrefix << token << "BatchUpdate()" << endl;      break;  }}void Coclustering::checkDumpLevel4BatchUpdate(char *token, int num){  if (objectiveAccessMode != NO_OPEN_MODE){    char *objValueType = NULL;    if (strcmp(token, "row") == 0)      objValueType = "1 ";    else if (strcmp(token, "col") == 0)      objValueType = "2 ";    else if (strcmp(token, "both") == 0)			// for Govaert's algorithm      objValueType = "2 ";    else {      cout << "  Invalid argument in checkDumpLevel4BatchUpdate(): " << token << endl;      if (dumpLevel == MAXIMUM_DUMP_LEVEL)        dumpFile << "  Invalid argument in checkDumpLevel4BatchUpdate(): " << token << endl;      exit(EXIT_FAILURE);    }    objectiveFile << objValueType << objValue << endl;  }  switch (dumpLevel){    case MINIMUM_DUMP_LEVEL:      break;    case BATCH_UPDATE_DUMP_LEVEL:    case LOCAL_SEARCH_DUMP_LEVEL:      cout << classPrefix << token << "BatchUpdate[" << num << "] = " << objValue << endl;      break;    case MAXIMUM_DUMP_LEVEL:      dumpFile << classPrefix << token << "BatchUpdate[" << num << "] = " << objValue << endl;      break;  }}void Coclustering::checkDumpLevel4DeltaTrace(char *token, int id, int toCluster, double delta, double minDelta){  if (dumpLevel == MAXIMUM_DUMP_LEVEL){   dumpFile << "  " << token << "[" << id << "](";   if (strcmp(token, "row") == 0)     dumpFile << rowCL[id];   else if (strcmp(token, "col") == 0)     dumpFile << colCL[id];   else {     cout << "  Invalid argument in checkDumpLevel4DeltaTrace(): " << token << endl;     dumpFile << "  Invalid argument in checkDumpLevel4DeltaTrace(): " << token << endl;     exit(EXIT_FAILURE);   }   dumpFile << "=>" << toCluster << "): " << delta << " + " << minDelta << " = " << (delta+minDelta) << endl;  }}void Coclustering::checkDumpLevel4LocalSearch(char *token){  switch (dumpLevel){    case MINIMUM_DUMP_LEVEL:      break;    case BATCH_UPDATE_DUMP_LEVEL:    case LOCAL_SEARCH_DUMP_LEVEL:      cout << classPrefix << token << "LocalSearch()" << endl;      break;    case MAXIMUM_DUMP_LEVEL:      dumpFile << classPrefix << token << "LocalSearch()" << endl;      break;  }}void Coclustering::checkDumpLevel4LocalSearch(char *token, int id, int from, int to, double change){  switch (dumpLevel){    case MINIMUM_DUMP_LEVEL:      break;    case LOCAL_SEARCH_DUMP_LEVEL:      cout << classPrefix << token << "LocalSearch[" << id << "](" << from << "=>" << to << ") = " << change << endl;      break;    case MAXIMUM_DUMP_LEVEL:      dumpFile << classPrefix << token << "LocalSearch[" << id << "](" << from << "=>" << to << ") = " << change << endl;      break;  }}void Coclustering::checkDumpLevel4NumOfChain(char *token, int num, double *totalChange){  if (num == 0){    switch (dumpLevel){      case MINIMUM_DUMP_LEVEL:      case BATCH_UPDATE_DUMP_LEVEL:        break;      case LOCAL_SEARCH_DUMP_LEVEL:        cout << "  !!! No " << token << " chain taken !!!" << endl;        break;      case MAXIMUM_DUMP_LEVEL:        dumpFile << "  !!! No " << token << " chain taken !!!" << endl;        break;    }  } else {    char *objValueType = NULL;    if (strcmp(token, "row") == 0)      objValueType = "3 ";    else if (strcmp(token, "col") == 0)      objValueType = "4 ";    else {      switch (dumpLevel){        case MINIMUM_DUMP_LEVEL:        case BATCH_UPDATE_DUMP_LEVEL:	  break;        case LOCAL_SEARCH_DUMP_LEVEL:          cout << "  Invalid argument in checkDumpLevel4NumOfChain(): " << token << endl;          break;        case MAXIMUM_DUMP_LEVEL:          dumpFile << "  Invalid argument in checkDumpLevel4NumOfChain(): " << token << endl;          break;      }      exit(EXIT_FAILURE);    }    if (objectiveAccessMode != NO_OPEN_MODE)      for (int i = 0; i < num+1; i++)        objectiveFile << objValueType << (objValue + totalChange[i]) << endl;    objValue += totalChange[num];    switch (dumpLevel){      case MINIMUM_DUMP_LEVEL:      case BATCH_UPDATE_DUMP_LEVEL:        break;      case LOCAL_SEARCH_DUMP_LEVEL:        cout << "  ### " << (num+1) << " " << token << " chain(s) taken ###" << endl;        break;      case MAXIMUM_DUMP_LEVEL:        dumpFile << "  ### " << (num+1) << " " << token << " chain(s) taken ###" << endl;        break;    }  }  }    void Coclustering::checkDumpLevel4PingPong(char *token, int num){  switch (dumpLevel){    case MINIMUM_DUMP_LEVEL:      break;      case BATCH_UPDATE_DUMP_LEVEL:      case LOCAL_SEARCH_DUMP_LEVEL:      cout << classPrefix << token << "PingPoing(): numIteration(" << num << ")" << endl;      if (strcmp(token, "end") == 0)        cout << endl;      break;    case MAXIMUM_DUMP_LEVEL:      dumpFile << classPrefix << token << "PingPong(): numIteration(" << num << ")" << endl;      if (strcmp(token, "end") == 0)        dumpFile << endl;      break;    default:      break;  }} void Coclustering::checkDumpLevel4Coclustering(ostream &os, int num, double value){  os << endl;  os << classPrefix << "Initialization Method     = " << initialMethod[rowInitializationMethod] << " & " << initialMethod[colInitializationMethod] << endl;  os << classPrefix << "Variation of Batch Update = " << batchUpdateType << endl;  if (isTakingReverse)    os << classPrefix << "# of Reversed Row(s)      = " << numReversedRow << endl;  os << classPrefix << "# of PingPong Iteration   = " << num << endl;  if (strcmp(classPrefix, ITCC_CLASS) == 0){    os << classPrefix << "Mutual Information(MI) of input Matrix      = " << value << endl;    os << classPrefix << "Final Objective Function Value (Loss in MI) = " << objValue << endl;  } else if (strcmp(classPrefix, MSSRICC_CLASS) == 0){    os << classPrefix << "Squared Frobenius Norm of input Matrix            = " << value << endl;    os << classPrefix << "Final Objective Function Value (=||A-RR'ACC'||^2) = " << objValue << endl;  } else if (strcmp(classPrefix, MSSRIICC_CLASS) == 0){    os << classPrefix << "Squared Frobenius Norm of input Matrix                    = " << value << endl;    os << classPrefix << "Final Objective Function Value (=||A-RR'A-ACC'+RR'ACC'||) = " << objValue << endl;  } else {    os << "Invalid algorithm type in checkDumpLevel4Coclustering(): " << classPrefix << endl;    exit(EXIT_FAILURE);  }  if (isComputingOneWayObjective){    os << classPrefix << "Final Obj.Func.Value of One-way Row Cluster  = " << objValue4RowCluster << endl;    os << classPrefix << "Final Obj.Func.Value of One-way Col Cluster  = " << objValue4ColCluster << endl;  }   if (rowInitializationMethod == SEEDING_INIT)    os << classPrefix << "Row seeding file          = " << rowSeedingFilename << endl;  if (colInitializationMethod == SEEDING_INIT)    os << classPrefix << "Column seeding file       = " << colSeedingFilename << endl;  if (coclusterAccessMode != NO_OPEN_MODE)    os << classPrefix << "Cocluster file            = " << coclusterFilename << endl;  if (dumpLevel == MAXIMUM_DUMP_LEVEL)    os << classPrefix << "Dump file                 = " << dumpFilename << endl;  if (objectiveAccessMode != NO_OPEN_MODE)    os << classPrefix << "Objective file            = " << objectiveFilename << endl;  if (statisticsAccessMode != NO_OPEN_MODE)    os << classPrefix << "Statistics file           = " << statisticsFilename << endl;//  os << endl;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区精密机械公司| 777奇米成人网| 中文字幕二三区不卡| 国产一区二区三区四区在线观看| 亚洲精品一区二区在线观看| 韩国午夜理伦三级不卡影院| 久久免费电影网| 国产成人精品综合在线观看| 国产精品丝袜久久久久久app| 播五月开心婷婷综合| 亚洲精品国产无套在线观| 欧美日韩国产一二三| 美女国产一区二区| 国产精品久久网站| 色婷婷一区二区| 日本网站在线观看一区二区三区 | 国产91精品免费| 亚洲丝袜制服诱惑| 欧美情侣在线播放| 国产成人精品在线看| 亚洲永久精品国产| 精品国产乱码久久久久久久久| 波多野结衣精品在线| 亚洲福利视频一区二区| 精品日韩一区二区三区免费视频| 国产成人免费视频一区| 亚洲亚洲精品在线观看| 久久色中文字幕| 在线观看不卡视频| 国产精品系列在线观看| 亚洲国产精品一区二区www在线| 337p日本欧洲亚洲大胆精品| 日本丶国产丶欧美色综合| 免费看日韩精品| 亚洲日本乱码在线观看| 精品毛片乱码1区2区3区| 色先锋aa成人| 国产最新精品免费| 午夜久久福利影院| 一区在线播放视频| 精品1区2区在线观看| 欧美中文字幕一区二区三区| 国产精品系列在线观看| 日本伊人午夜精品| 亚洲精品网站在线观看| 久久久99精品免费观看不卡| 欧美日韩精品一区二区三区四区| 成人污污视频在线观看| 久久精品国产99| 亚洲图片欧美色图| 亚洲啪啪综合av一区二区三区| 精品国产乱码91久久久久久网站| 欧美日韩在线一区二区| jlzzjlzz亚洲日本少妇| 国产高清精品网站| 韩国成人福利片在线播放| 日韩不卡一区二区| 亚洲地区一二三色| 一区二区三国产精华液| 国产精品女主播在线观看| 久久亚区不卡日本| 久久久久久久综合| 日韩一区二区视频在线观看| 欧美日韩一卡二卡三卡| 在线观看区一区二| 91小视频在线| 99久久综合狠狠综合久久| 国产成人免费9x9x人网站视频| 国产乱码精品一品二品| 激情小说亚洲一区| 国产专区综合网| 国产乱子轮精品视频| 国产综合久久久久久久久久久久| 久久99久久99| 国产精品自拍三区| 国产精品1区2区3区在线观看| 精品无人码麻豆乱码1区2区| 日韩经典一区二区| 美日韩一区二区| 激情五月婷婷综合网| 国产精品白丝jk黑袜喷水| 国产成人免费av在线| 成人av电影观看| 99精品一区二区| 在线视频观看一区| 欧美日韩一区高清| 欧美一区二区三区免费| 欧美电视剧在线观看完整版| 精品久久久三级丝袜| 国产视频不卡一区| 最新高清无码专区| 亚洲一级二级三级在线免费观看| 亚洲福利一区二区| 麻豆精品新av中文字幕| 国产白丝网站精品污在线入口| 成人av电影观看| 在线观看日韩av先锋影音电影院| 欧美久久久久久久久久| 精品成人一区二区三区四区| 国产欧美日韩亚州综合| 亚洲欧美日韩在线| 午夜视频一区二区三区| 国产一区二区三区在线看麻豆| 国产大陆精品国产| 精品视频资源站| 久久久久久免费网| 一区二区三区电影在线播| 蜜臀av性久久久久蜜臀av麻豆| 国产成人综合亚洲91猫咪| 欧美变态tickling挠脚心| 国产精品视频一区二区三区不卡| 亚洲影视资源网| 精品一区二区三区免费播放| 成人激情免费网站| 欧美福利视频一区| 国产欧美一区二区三区鸳鸯浴 | 婷婷久久综合九色综合绿巨人| 蜜臀av一区二区| 99精品在线观看视频| 欧美一二三四在线| 日韩美女视频一区二区 | 国内精品久久久久影院色| 成人国产一区二区三区精品| 欧美人牲a欧美精品| 国产免费观看久久| 蜜臀av亚洲一区中文字幕| 色婷婷综合久久久中文字幕| 欧美一级片免费看| 伊人性伊人情综合网| 国产乱对白刺激视频不卡| 欧美日韩亚洲国产综合| 国产精品天天摸av网| 精品一区二区三区视频 | 久久66热re国产| 色哟哟精品一区| 中文乱码免费一区二区| 七七婷婷婷婷精品国产| 色就色 综合激情| 久久精品人人做人人综合| 日韩av成人高清| 日本黄色一区二区| 国产精品毛片高清在线完整版| 麻豆成人免费电影| 91精品啪在线观看国产60岁| 亚洲美女淫视频| www.日韩av| 欧美激情一区不卡| 国内成人免费视频| 日韩亚洲欧美高清| 日韩高清不卡在线| 欧美日韩夫妻久久| 亚洲超碰精品一区二区| 色偷偷成人一区二区三区91| 国产精品久久久久久久久久久免费看 | 男女性色大片免费观看一区二区 | 日本乱人伦aⅴ精品| 国产精品美女久久福利网站| 国产激情一区二区三区| 亚洲精品一区二区三区影院| 毛片不卡一区二区| 欧美一卡2卡三卡4卡5免费| 亚洲香蕉伊在人在线观| 欧日韩精品视频| 一区二区三区在线视频免费| 99久久免费国产| 国产精品对白交换视频| 国产精品影视在线观看| 久久影院视频免费| 国产高清成人在线| 国产很黄免费观看久久| 久久久久久久久久久黄色| 国产一区二区精品在线观看| 国产亚洲一区二区三区四区| 国产精品一区二区男女羞羞无遮挡| 26uuu色噜噜精品一区| 国产成人在线视频免费播放| 欧美精彩视频一区二区三区| 成人黄色片在线观看| 一色桃子久久精品亚洲| 91高清视频免费看| 婷婷国产在线综合| 日韩精品一区国产麻豆| 国产成人在线观看| 亚洲视频你懂的| 欧美日韩在线观看一区二区| 日韩成人一区二区三区在线观看| 日韩免费视频一区二区| 国产91露脸合集magnet| 亚洲人成小说网站色在线| 色哦色哦哦色天天综合| 婷婷开心激情综合| 久久久欧美精品sm网站| www.综合网.com| 亚洲二区在线视频| 精品入口麻豆88视频| 97超碰欧美中文字幕| 亚洲成人动漫av| 精品电影一区二区| 色菇凉天天综合网| 麻豆精品一区二区av白丝在线|