def __init__(self): datarows, labels = semdatautil.get_sem_data('semeion.data') # SPLIITING IN HALF WILL WORK SINCE IT IS NOT JUST 0 1 2 3 4 5 6 7 8 9 IT IS 0 1 ... 9 0 1 2 ... 9 0 1 2 ETC self.trainingdatarows = datarows[len(datarows)/2:] self.traininglabels = labels[len(labels)/2:] self.testingdatarows = datarows[:len(datarows)/2] self.testinglabels = labels[:len(labels)/2:] self.trainingpymldata = PyML.VectorDataSet(self.trainingdatarows, L=self.traininglabels) self.testingpymldata = PyML.VectorDataSet(self.testingdatarows, L=self.testinglabels) rf = open('results', 'w') rf.write("========== RESULTS ==========\n") rf.close()
super(DataViewer, self).run_tk_mainloop() def show_data(self, datano): self.currdatano = datano self.ax.imshow(semdatautil.sem_datarow_to_image(self.datarows[datano]), cmap=pyplot.gray()) self.fig.canvas.draw() print self.currdatano if self.labels != None: print "Label: " + str(self.labels[self.currdatano]) def next_data(self): self.show_data(self.currdatano + 1) def prev_data(self): if self.currdatano > 0: self.show_data(self.currdatano - 1) if __name__ == "__main__": fig = Figure() # figsize=(10,10))#, dpi=100) ax = fig.add_subplot(111) ax.set_title("Data") datarows, labels = semdatautil.get_sem_data("semeion.data") print labels print datarows[0] dataviewer = DataViewer(fig, ax, datarows, labels=labels)
return multiclass_predicted_labels def prediction_accuracy(predicted_labels, actual_labels): numcorrect = 0 for i in range(len(predicted_labels)): if int(predicted_labels[i]) == int(actual_labels[i]): numcorrect += 1 return numcorrect, len(predicted_labels), float(numcorrect)/float(len(predicted_labels)) if __name__ == "__main__": rf = open('results', 'w') valid_labels = [0,1,2,3,4,5,6,7,8,9] datarows, o_datalabels = semdatautil.get_sem_data('semeion.data') print len(datarows) # convert the data to numeric labels datalabels = [int(label) for label in o_datalabels] # SPLIITING IN HALF WILL WORK SINCE IT IS NOT JUST 0 1 2 3 4 5 6 7 8 9 IT IS 0 1 ... 9 0 1 2 ... 9 0 1 2 ETC trainingdata = datarows[:len(datarows)/3] traininglabels = datalabels[:len(datalabels)/3] paramseldata = datarows[len(datarows)/3:(len(datarows)/3)*2] paramsellabels = datalabels[len(datalabels)/3:(len(datalabels)/3)*2] testingdata = datarows[(len(datarows)/3)*2:]