# print np.shape(testdataStack[0][0]) TestClassification = [] OriginalTestClassification = [] TrainClassification = [] OriginalTrainClassification = [] for a in range (np.shape(testdataStack)[0]): llist = getlistoflengths(testdataStack[a]) classifiedtests = [] origtests = [] for b in range (len(llist)): #origtests.append(keyList[a]) temp = np.array([testdataStack[a][b]]) # print np.shape(temp) templistlen = [] for c in range (len(keyList)): templistlen.append(hmm.negloglik(temp,trans = MarkovModel[c][0],dists = MarkovModel[c][1])) #lassifiedtests.append(keyList[(np.argmin(templistlen))]) TestClassification.append(keyList[(np.argmin(templistlen))]) OriginalTestClassification.append(keyList[a]) llist = getlistoflengths(traindataStack[a]) for b in range (len(llist)): temp = np.array([traindataStack[a][b]]) templistlen = [] for c in range (len(keyList)): templistlen.append(hmm.negloglik(temp,trans = MarkovModel[c][0],dists = MarkovModel[c][1])) TrainClassification.append(keyList[(np.argmin(templistlen))]) OriginalTrainClassification.append(keyList[a]) print "Test Confusion Matrix" utils.confusion(OriginalTestClassification,TestClassification) print "Train Confusion Matrix" utils.confusion(OriginalTrainClassification,TrainClassification)
# print np.shape(signatures[a][b]) llist.append([len(signatures[a][b])]) MarkovModel.append(hmm.hmm(np.column_stack(signatures[a][0:3]),llist,trans,diagcov = diagcov)) #print np.shape(testdataStack) # print np.shape(testdataStack[0][0]) TestClassification = [] OriginalTestClassification = [] TrainClassification = [] OriginalTrainClassification = [] for a in range (0,5): for b in range (3,len(signatures[a])): OriginalTestClassification.append(a) templist = [] for c in range (0,5): #print np.shape(np.array([np.column_stack(signatures[a][b]).T])) templist.append(hmm.negloglik(np.array([np.column_stack(signatures[a][b]).T]),trans = MarkovModel[c][0],dists = MarkovModel[c][1])) TestClassification.append(np.argmin(templist)) utils.confusion(OriginalTestClassification,TestClassification) print "completed for k = %d" %k diagcov = True #print np.shape(signatures) #print np.shape(np.column_stack(signatures[1][0:3]).T) print "Diagonal Covariance Matrix" for k in range (1,7): MarkovModel = [] for a in range (0,5): trans = hmm.lrtrans(k) llist = [] for b in range(0,3): # print np.shape(signatures[a][b]) llist.append([len(signatures[a][b])])
diagcov=diagcov)) #print np.shape(testdataStack) # print np.shape(testdataStack[0][0]) TestClassification = [] OriginalTestClassification = [] TrainClassification = [] OriginalTrainClassification = [] for a in range(0, 5): for b in range(3, len(signatures[a])): OriginalTestClassification.append(a) templist = [] for c in range(0, 5): #print np.shape(np.array([np.column_stack(signatures[a][b]).T])) templist.append( hmm.negloglik(np.array( [np.column_stack(signatures[a][b]).T]), trans=MarkovModel[c][0], dists=MarkovModel[c][1])) TestClassification.append(np.argmin(templist)) utils.confusion(OriginalTestClassification, TestClassification) print "completed for k = %d" % k diagcov = True #print np.shape(signatures) #print np.shape(np.column_stack(signatures[1][0:3]).T) print "Diagonal Covariance Matrix" for k in range(1, 7): MarkovModel = [] for a in range(0, 5): trans = hmm.lrtrans(k) llist = [] for b in range(0, 3): # print np.shape(signatures[a][b])
OriginalTestClassification = [] TrainClassification = [] OriginalTrainClassification = [] for a in range(np.shape(testdataStack)[0]): llist = getlistoflengths(testdataStack[a]) classifiedtests = [] origtests = [] for b in range(len(llist)): #origtests.append(keyList[a]) temp = np.array([testdataStack[a][b]]) # print np.shape(temp) templistlen = [] for c in range(len(keyList)): templistlen.append( hmm.negloglik(temp, trans=MarkovModel[c][0], dists=MarkovModel[c][1])) #lassifiedtests.append(keyList[(np.argmin(templistlen))]) TestClassification.append(keyList[(np.argmin(templistlen))]) OriginalTestClassification.append(keyList[a]) llist = getlistoflengths(traindataStack[a]) for b in range(len(llist)): temp = np.array([traindataStack[a][b]]) templistlen = [] for c in range(len(keyList)): templistlen.append( hmm.negloglik(temp, trans=MarkovModel[c][0], dists=MarkovModel[c][1])) TrainClassification.append(keyList[(np.argmin(templistlen))]) OriginalTrainClassification.append(keyList[a])