# Message for terminal ############################################################################### print('\n') print('**********************************************************************') print('* Processing ' + str(len(files)) + ' experiments [' + str(datetime.datetime.now()) + ']') print('**********************************************************************') for (i, file) in enumerate(filenames): start = time.time() # Load files dataA = monet.loadAndHashFactorialCSV(path + folderA + '/' + file + '.csv', floatMultiplier=coverageRescale) dataB = monet.loadAndHashFactorialCSV(path + folderB + '/' + file + '.csv', floatMultiplier=coverageRescale) # Claculate the hashed differences differencesHash = monet.calculateFactorialHashError( dataA, dataB, monet.sampleDifference) deHashed = monet.deHashFactorial(differencesHash) # Save output np.savetxt(path + file + ".csv", deHashed, fmt='%2.6f', delimiter=",") # Terminal Output end = time.time() print('* {0}) {1} [{2:.2f} min]'.format(i + 1, file, (end - start) / 60)) ############################################################################### # Message for terminal ############################################################################### print('**********************************************************************') print('* Finished ' + str(len(files)) + ' experiments [' + str(datetime.datetime.now()) + ']') print('**********************************************************************')
# 100 fitness cost 10% reduction # 200 fitness cost 20% reduction title = "Fitness Cost" testFileA = "TSA_100.csv" testFileB = "TSA_200.csv" centralData = monet.loadAndHashFactorialCSV(path + centralFile) probeDataA = monet.loadAndHashFactorialCSV(path + testFileA) probeDataB = monet.loadAndHashFactorialCSV(path + testFileB) differencesHashA = monet.calculateFactorialHashError(probeDataA, centralData, monet.sampleDifference) differencesHashB = monet.calculateFactorialHashError(probeDataB, centralData, monet.sampleDifference) errorsA = differencesHashA.values() errorsB = differencesHashB.values() deHashedA = monet.deHashFactorial(differencesHashA) deHashedB = monet.deHashFactorial(differencesHashB) np.savetxt(path + "deHashedA.csv", deHashedA, fmt='%2.6f', delimiter=",") np.savetxt(path + "deHashedB.csv", deHashedB, fmt='%2.6f', delimiter=",") ############################################################################### # Plotting the results ############################################################################### binsDict = dict(start=0, end=1, size=0.05) trace1 = go.Histogram(x=errorsA, histnorm='percent', name='Increase', xbins=binsDict, marker=dict(color='#B9C1DB'), opacity=0.75)
) # Filter the SA files for matching IDs expCoreID = ["_".join(i.split('_')[0:-1]) for i in saFiles] matchingIndices = [i == cfFile for i in expCoreID] matchingFiles = list(compress(saFiles, matchingIndices)) # Go through the SA files doing the differences for (j, pFile) in enumerate(matchingFiles): # Load probe file pData = monet.loadAndHashFactorialCSV( pathSA+pFile+'.csv', floatMultiplier=cScale ) # Calculate differences between files diffHash = monet.calculateFactorialHashError( pData, cData, monet.sampleDifference ) deHashed = monet.deHashFactorial(diffHash) # Export results np.savetxt( pathSA + 'sensitivity/' + pFile + "_SA.csv", deHashed, fmt='%2.6f', delimiter="," ) end = time.time() count = count + 1 print('* {0}) {1} [{2:.2f} min]'.format(count, pFile, (end-start)/60)) ############################################################################### # Message for terminal ############################################################################### print('**********************************************************************') print('* Finished ' + str(len(saFiles)) + ' experiments [' + str(datetime.datetime.now()) + ']') print('**********************************************************************')