Exemple #1
0
def interClassDistance(classA,classB,classAweights=None,classBweights=None): #Not tested with weights free version
	summedDistances = 0
	for a,aw in zip(classA,classAweights):
		for b,bw in zip(classB,classBweights):
			weights = [float(sum(t))/float(len(t)) for t in zip(aw,bw)]
			if (classAweights == None or classBweights == None):
				summedDistances += dtw.dist(a,b)
			else:
				summedDistances += dtw.getDTWdist2DweightedSum(a,b,weights)
	averageDistance = summedDistances / (len(classA)*len(classB))
	return averageDistance
Exemple #2
0
def similarityMatrixWeighted(segments,segmentNames,weights,title,savePlot=False):
	print "Constructing similarity matrix"
	bar = progressbar.ProgressBar(maxval=len(segments)**2, widgets=[progressbar.Bar('=', '[', ']'), ' ', progressbar.Percentage()])
	bar.start()
	progressCount = 0
	distances = []
	for i,k in zip(range(len(segments)),reversed(range(len(segments)))):
		distances.append([])
		for j in range(len(segments)):
			distances[i].append(dtw.getDTWdist2DweightedSum(segments[k],segments[j],weights))
			progressCount+=1
			bar.update(progressCount)
	bar.finish()
	plot.plotSimilarityMatrix(distances,segmentNames,title,savePlot)