コード例 #1
0
def Run_Q3_3_2_sp():
    print '*********************************************************************************'
    print "//Question-3.3.2 (Simple Perceptron-single pass) Report on Adult Data -----------------------------"
    print '*********************************************************************************'
    [XData, YData, FSize, SeenWt] = func.parseInfo(trainFileHandle)
    maxVecLen = max(FSize)
    margin = 0
    for i in range(1, 2):
        for j in LRateList:
            [Bias, Wvec,
             LearningMistake] = func.Perceptron(j, 1, XData, YData, maxVecLen,
                                                i, margin, 0, SeenWt)
            mistakeCount = func.TestPerceptron(XData, YData, Wvec, Bias,
                                               maxVecLen, margin)
            TrainAccuracy = (
                (float(len(XData) - mistakeCount)) / len(XData)) * 100
            print 'Using Learning Rate = ', j, ' number of epochs = Sinlge Pass,  Initialization = random with mean 0 and sd 0.01'
            #	print '\t Learned Weight Vector    = ', Wvec
            print '\t Learned Bias             = ', Bias
            print '\t Mistakes during Learning = ', LearningMistake
            print '\t Learning Accuracy        = ', TrainAccuracy, '%\n'
            if (test_index != -1):
                [testXData,
                 testYData] = func.parseInfoTest(testFilehandle, maxVecLen)
                testMistake = func.TestPerceptron(testXData, testYData, Wvec,
                                                  Bias, maxVecLen, margin)
                TestAccuracy = ((float(len(testXData) - testMistake)) /
                                len(testXData)) * 100
                print '\t Test Accuracy            = ', TestAccuracy, '%\n'
    print "//End of Question-3.3.2(simple Perceptron-single pass) Report ------------------------------------\n\n\n"
コード例 #2
0
def Run_Q3_3_3_mp_batch_Shuffle():
    print '***************************************************************************************************'
    print "//Question-3.3.2 (Margin Perceptron-batch 3,4,5) With Shuffle Report on Adult Data -----------------------------"
    print '***************************************************************************************************'
    [XData, YData, FSize, SeenWt] = func.parseInfo(trainFileHandle)
    maxVecLen = max(FSize)
    for i in range(3, 6):
        for j in LRateList:
            for k in MarginList:
                [Bias, Wvec,
                 LearningMistake] = func.Perceptron(j, 1, XData, YData,
                                                    maxVecLen, i, k, 0, SeenWt)
                mistakeCount = func.TestPerceptron(XData, YData, Wvec, Bias,
                                                   maxVecLen, k)
                TrainAccuracy = (
                    (float(len(XData) - mistakeCount)) / len(XData)) * 100
                print 'Using Learning Rate = ', j, ', number of epochs = ', i, '  Margin = ', k, ', Initialization = random with mean 0 and sd 0.01, with shuffle'
                #	print '\t Learned Weight Vector    = ', Wvec
                print '\t Learned Bias             = ', Bias
                print '\t Mistakes during Learning = ', LearningMistake
                print '\t Learning Accuracy        = ', TrainAccuracy, '%\n'
                if (test_index != -1):
                    [testXData,
                     testYData] = func.parseInfoTest(testFilehandle, maxVecLen)
                    testMistake = func.TestPerceptron(testXData, testYData,
                                                      Wvec, Bias, maxVecLen, k)
                    TestAccuracy = ((float(len(testXData) - testMistake)) /
                                    len(testXData)) * 100
                    print '\t Test Accuracy            = ', TestAccuracy, '%\n'
    print "//End of Question-3.3.2(Margin Perceptron-Batch Mode-Shuffle) Report ------------------------------------\n\n\n"
コード例 #3
0
def Run_Q3_3_1():
    print '*********************************************************************************'
    print "//Question-3.3.1 Report (Sanity check using Table2 -----------------------------"
    print '*********************************************************************************'
    [XData, YData, FSize, SeenWt] = func.parseInfo(sanityTable)
    maxVecLen = max(FSize)
    for i in range(1, 2):
        for j in LRateList:
            [Bias, Wvec,
             LearningMistake] = func.Perceptron(j, 0, XData, YData, maxVecLen,
                                                i, 0, 0, SeenWt)
            mistakeCount = func.TestPerceptron(XData, YData, Wvec, Bias,
                                               maxVecLen, 0)
            TrainAccuracy = (float(len(XData) - mistakeCount) /
                             len(XData)) * 100
            print 'Using Learning Rate = ', j, ' number of epochs = ', i, 'Initialization = @ default 0 , No-Shuffle'
            print '\t Learned Weight Vector    = ', Wvec
            print '\t Learned Bias             = ', Bias
            print '\t Mistakes during Learning = ', LearningMistake
            print '\t Learning Accuracy        = ', TrainAccuracy, '%\n'
    print "//End of Question-3.3.1 Report -------------------------------------------------\n\n"