コード例 #1
0
ファイル: reporttests.py プロジェクト: michaelwh/mlsemcwk
    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()
コード例 #2
0
ファイル: viewdata.py プロジェクト: michaelwh/mlsemcwk
        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)
コード例 #3
0
ファイル: mylibsvmutil.py プロジェクト: michaelwh/mlsemcwk
    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:]