示例#1
0
#	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])
示例#4
0
 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])