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

📄 cocluster.cc

📁 一种聚类算法,名字是cocluster
💻 CC
📖 第 1 页 / 共 2 页
字号:
    double *numEmptyCC = new double[myCLA.numRun];    double *numSingletonRC = new double[myCLA.numRun];    double *numSingletonCC = new double[myCLA.numRun];    double *initialObjectVal = new double[myCLA.numRun];    double *finalObjectVal = new double[myCLA.numRun];    double *initialRowPrecision = NULL, *initialColPrecision = NULL;		// micro-averaged precision    double *finalRowPrecision = NULL, *finalColPrecision = NULL;		// micro-averaged precision    double *initialRowAccuracy = NULL, *initialColAccuracy = NULL;    double *finalRowAccuracy = NULL, *finalColAccuracy = NULL;    if (myCLA.externalValidityType == ROW_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){      initialRowPrecision = new double[myCLA.numRun];      finalRowPrecision = new double[myCLA.numRun];      initialRowAccuracy = new double[myCLA.numRun];      finalRowAccuracy = new double[myCLA.numRun];    }    if (myCLA.externalValidityType == COL_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){      initialColPrecision = new double[myCLA.numRun];      finalColPrecision = new double[myCLA.numRun];      initialColAccuracy = new double[myCLA.numRun];      finalColAccuracy = new double[myCLA.numRun];    }    if (myCLA.takingReverse)      numReversedRow = new int[myCLA.numRun];    if (myCLA.computingOneWayObjective){      initialObjectVal4RC = new double[myCLA.numRun];      initialObjectVal4CC = new double[myCLA.numRun];      finalObjectVal4RC = new double[myCLA.numRun];      finalObjectVal4CC = new double[myCLA.numRun];    }    for (int i = 0; i < myCLA.numRun; i++){      cout << endl << myCC->classPrefix << "beginRandomRun(): numRun(" << i+1 << ")" << endl << endl;;      if (myCLA.dumpLevel == MAXIMUM_DUMP_LEVEL)        myCC->dumpFile << endl << myCC->classPrefix << "beginRandomRun(): numRun(" << i+1 << ")" << endl << endl;      if (myCLA.statisticsAccessMode != NO_OPEN_MODE)        myCC->statisticsFile << endl << myCC->classPrefix << "beginRandomRun(): numRun(" << i+1 << ")" << endl << endl;      myCC->setRowSmoothingFactor(myCLA.rowSmoothingFactor);      myCC->setColSmoothingFactor(myCLA.colSmoothingFactor);      myCC->doInitialization();      initialObjectVal[i] = myCC->getObjValue();      if (myCLA.computingOneWayObjective){        initialObjectVal4RC[i] = myCC->getObjValue4RowCluster();	initialObjectVal4CC[i] = myCC->getObjValue4ColCluster();      }      if (myCLA.externalValidityType == ROW_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){         myCC->validateRowCluster(myCLA.numRowClass, myCLA.rowClassLabel);        initialRowPrecision[i] = myCC->getRowPrecision();        initialRowAccuracy[i] = myCC->getRowAccuracy();      }      if (myCLA.externalValidityType == COL_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){        myCC->validateColCluster(myCLA.numColClass, myCLA.colClassLabel);        initialColPrecision[i] = myCC->getColPrecision();        initialColAccuracy[i] = myCC->getColAccuracy();      }      myCC->doPingPong();      numEmptyRC[i] = myCC->getEmptyRC();      numEmptyCC[i] = myCC->getEmptyCC();      numSingletonRC[i] = myCC->getSingletonRC();      numSingletonCC[i] = myCC->getSingletonCC();      finalObjectVal[i] = myCC->getObjValue();      if (myCLA.computingOneWayObjective){        finalObjectVal4RC[i] = myCC->getObjValue4RowCluster();	finalObjectVal4CC[i] = myCC->getObjValue4ColCluster();      }      numPingPong[i] = myCC->getNumIteration();      if (myCLA.externalValidityType == ROW_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){         myCC->validateRowCluster(myCLA.numRowClass, myCLA.rowClassLabel);        finalRowPrecision[i] = myCC->getRowPrecision();        finalRowAccuracy[i] = myCC->getRowAccuracy();      }      if (myCLA.externalValidityType == COL_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){        myCC->validateColCluster(myCLA.numColClass, myCLA.colClassLabel);        finalColPrecision[i] = myCC->getColPrecision();        finalColAccuracy[i] = myCC->getColAccuracy();      }      if (myCLA.takingReverse)        numReversedRow[i] = myCC->getNumReversedRow();      cout << myCC->classPrefix << "endRandomRun(): numRun(" << i+1 << ")" << endl << endl;      if (myCLA.dumpLevel == MAXIMUM_DUMP_LEVEL)        myCC->dumpFile << myCC->classPrefix << "endRandomRun(): numRun(" << i+1 << ")" << endl << endl;      if (myCLA.statisticsAccessMode != NO_OPEN_MODE)        myCC->statisticsFile << myCC->classPrefix << "endRandomRun(): numRun(" << i+1 << ")" << endl  << endl;    }//    cout << endl << "  ### " << myCLA.numRun << " random run(s) done ###" << endl << endl;//    if (myCLA.dumpLevel == MAXIMUM_DUMP_LEVEL)//      myCC->dumpFile << endl << "  ### " << myCLA.numRun << " random run(s) done ###" << endl << endl;//    if (myCLA.statisticsAccessMode != NO_OPEN_MODE)//      myCC->statisticsFile << endl << "  ### " << myCLA.numRun << " random run(s) done ###" << endl << endl;    outputStatistics(myCLA, myCC->classPrefix, numPingPong, "Average # of PingPong Iteration     = ", myCC->dumpFile, myCC->statisticsFile);    outputStatistics(myCLA, myCC->classPrefix, numEmptyRC,  "Average # of Empty Row Clusters     = ", myCC->dumpFile, myCC->statisticsFile);    outputStatistics(myCLA, myCC->classPrefix, numEmptyCC,  "Average # of Empty Col Clusters     = ", myCC->dumpFile, myCC->statisticsFile);    outputStatistics(myCLA, myCC->classPrefix, numSingletonRC, "Average # of Singleton Row Clusters = ", myCC->dumpFile, myCC->statisticsFile);    outputStatistics(myCLA, myCC->classPrefix, numSingletonCC, "Average # of Singleton Col Clusters = ", myCC->dumpFile, myCC->statisticsFile);    if (myCLA.takingReverse){      outputStatistics(myCLA, myCC->classPrefix, numReversedRow,"Average # of Reversed Row(s)        = ", myCC->dumpFile, myCC->statisticsFile);      delete [] numReversedRow;    }     outputStatistics(myCLA, myCC->classPrefix, initialObjectVal, "Average Initial Objective Value     = ", myCC->dumpFile, myCC->statisticsFile);    outputStatistics(myCLA, myCC->classPrefix, finalObjectVal,   "Average Final Objective Value       = ", myCC->dumpFile, myCC->statisticsFile);    if (myCLA.computingOneWayObjective){      outputStatistics(myCLA, myCC->classPrefix, initialObjectVal4RC, "Average Initial Obj. of Row Cluster = ", myCC->dumpFile, myCC->statisticsFile);      outputStatistics(myCLA, myCC->classPrefix, finalObjectVal4RC,   "Average Final Obj. of Row Cluster   = ", myCC->dumpFile, myCC->statisticsFile);      outputStatistics(myCLA, myCC->classPrefix, initialObjectVal4CC, "Average Initial Obj. of Col Cluster = ", myCC->dumpFile, myCC->statisticsFile);      outputStatistics(myCLA, myCC->classPrefix, finalObjectVal4CC,   "Average Final Obj. of Col Cluster   = ", myCC->dumpFile, myCC->statisticsFile);      delete [] initialObjectVal4RC;      delete [] initialObjectVal4CC;      delete [] finalObjectVal4RC;      delete [] finalObjectVal4CC;    }          delete [] numPingPong;    delete [] numEmptyRC;    delete [] numEmptyCC;    delete [] numSingletonRC;    delete [] numSingletonCC;    delete [] initialObjectVal;    delete [] finalObjectVal;    if (myCLA.externalValidityType == ROW_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){      outputStatistics(myCLA, myCC->classPrefix, initialRowPrecision, "Average Initial Row Precision Value = ", myCC->dumpFile, myCC->statisticsFile);      delete [] initialRowPrecision;    }    if (myCLA.externalValidityType == ROW_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){      outputStatistics(myCLA, myCC->classPrefix, finalRowPrecision, "Average Final Row Precision Value   = ", myCC->dumpFile, myCC->statisticsFile);      delete [] finalRowPrecision;    }    if (myCLA.externalValidityType == COL_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){      outputStatistics(myCLA, myCC->classPrefix, initialColPrecision, "Average Initial Col Precision Value = ", myCC->dumpFile, myCC->statisticsFile);      delete [] initialColPrecision;    }    if (myCLA.externalValidityType == COL_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){      outputStatistics(myCLA, myCC->classPrefix, finalColPrecision, "Average Final Col Precision Value   = ", myCC->dumpFile, myCC->statisticsFile);      delete [] finalColPrecision;    }    if (myCLA.externalValidityType == ROW_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){      outputStatistics(myCLA, myCC->classPrefix, initialRowAccuracy,  "Average Initial Row Accuracy Value  = ", myCC->dumpFile, myCC->statisticsFile);      delete [] initialRowAccuracy;    }    if (myCLA.externalValidityType == ROW_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){      outputStatistics(myCLA, myCC->classPrefix, finalRowAccuracy,  "Average Final Row Accuracy Value    = ", myCC->dumpFile, myCC->statisticsFile);      delete [] finalRowAccuracy;    }    if (myCLA.externalValidityType == COL_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){      outputStatistics(myCLA, myCC->classPrefix, initialColAccuracy,  "Average Initial Col Accuracy Value  = ", myCC->dumpFile, myCC->statisticsFile);      delete [] initialColAccuracy;    }    if (myCLA.externalValidityType == COL_EXTERNAL_VALIDITY || myCLA.externalValidityType == BOTH_EXTERNAL_VALIDITY){      outputStatistics(myCLA, myCC->classPrefix, finalColAccuracy,  "Average Final Col Accuracy Value    = ", myCC->dumpFile, myCC->statisticsFile);      delete [] finalColAccuracy;    }//------------------------------------------------------------------------------    if (myCLA.coclusterAccessMode != NO_OPEN_MODE)      if (myCLA.numRun == 1 || (myCLA.numRun > 1 && myCLA.coclusterAccessMode == APPEND_MODE))        myCC->writeCocluster();//------------------------------------------------------------------------------      }  outputRunTime(runTime, myCLA, myCC->classPrefix, myCC->dumpFile, myCC->statisticsFile);  outputDeconstructor(myCLA, myCC->classPrefix, myCC->dumpFile, myCC->statisticsFile);  outputCommandLineArgument(argc, argv, cout);  outputCommandLineArgument(argc, argv, myCC->dumpFile);  outputCommandLineArgument(argc, argv, myCC->statisticsFile);}

⌨️ 快捷键说明

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