?? cocluster.cc
字號(hào):
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);}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -