import os import random import suppress warnings.simplefilter("ignore") readLocation = "../data/sensor_data/small_54_64.dat" splitLen = 8 if __name__ == "__main__": oData = dataio.loadData(readLocation) obs = 2**oData.data.shape[1] states = splitLen sData = markov_anneal.splitActivityMax(oData.cd[0:50000], splitLen) scores = [0, 0] entropys = [0, 0] for i in range(2, 26): print "Models:" + str(i) bestScore = -1 bestModels = [] bestData = [] bestOut = [] for j in range(2): suppress.suppress(2) bm, bd, out = markov_anneal.train(sData, i, states, obs, \ iterations = 9, outliers = False, voidOutput = False)
mData = dataio.loadData(modelFile) mData.matrixToModel(mData.modelList) models = mData.models for d in validDays: print "Day " + str(d) print " Getting data." #Iterate over all valid days. cd, td = bbdata.comp(st, et, \ vDays = [d], \ comp = compress, \ sens = sensors) print " Splitting." #Get the split calculation finished. sData = markov_anneal.splitActivityMax(cd, td, splitLen) print " Calculating." sigma = IntegerRange(0, 2**len(sensors)) val, counts = analysis.ratio(sData.values(), models, sigma) tdMatrix.append(counts) #Save output matrix. foo = bbdata.Dataset(None) foo.tdMatrix = numpy.array(tdMatrix) dataio.saveData(writeLocation, foo)