def evalParams(m1=MEAN_COEFF, m2=STD_COEFF, epsilon=EPSILON_FACTOR,gap=GAP_FACTOR, overlap=OVERLAP_FACTOR): sum = 0 for stitch in xrange(stitchesNum): data = [] tags = [] for subject in subjects: for index in xrange(8): try: input = getAMCInput(joint, subject, index) except: continue parts = st.createParts(input, partsAmount) stitched = st.stitch(parts, m1, m2, epsilon,gap, overlap) #plt.figure() #plt.plot(stitched) periods = pr.breakToPeriods(stitched) periods = ut.alignByMaxMany(periods) periods = inter.getUniformSampledVecs(periods, 100) data = data + periods tags = tags + [subject]*len(periods) #st.plotParts(periods) cl = KNeighborsClassifier() cl.n_neighbors = 5 cl.weights = 'distance' testSize = 1 score = crossValidate(cl, data, tags, testSize, testAmount) #print str(m2)+' '+ str(score) sum+=score score = float(sum)/stitchesNum scores[m1, m2] = score return score
sub = fig.add_subplot(frameSize*110 + subjects.index(subject)) sub.plot(range(len(input)), input) sub_uniform = fig_uniform.add_subplot(frameSize*110 + subjects.index(subject)) new_time, uniform_input = inter.getUniformSampled(xrange(len(input)), input, numOfFeatures) sub_uniform.plot( xrange(numOfFeatures), uniform_input) data.append(uniform_input) tags.append(subject) plt.xlabel('Time (in frames)') plt.ylabel(joint + ' angle') plt.title('subject: ' + str(subject)) cl = KNeighborsClassifier() cl.n_neighbors = 5 cl.weights = 'distance' testSize = 35 score = crossValidate(cl, data, tags, testSize) outFile = 'out.txt' out = open(outFile, 'r') scores = [] testSizes = [] for line in out: splited = line.split() scores.append(splited[0]) testSizes.append(splited[1]) plt.figure() plt.plot(testSizes, scores) plt.xlabel('Test set size)') plt.ylabel('Prediction precision') plt.title('Prediction precision for 4 subjects, data set size is 43')