Example #1
0
def results(a, f):
    print('\nMax     : ' + str(max(a)))
    print('\nSt Dev  : ' + str(stDeviation(a)))
    print('\nMean    : ' + str(average(a)))
    f.write("\nAnswers: \n")
    f.write(str(a))
    f.write("\n")
    f.write('\nMax    : ' + str(max(a)))
    f.write('\nStDev  : ' + str(stDeviation(a)))
    f.write('\nMean   : ' + str(average(a)))
Example #2
0
def main():
	for count in range(5):
		output1 = []
		output1.append(testCarData()[1])
		print "accuracy1", testCarData()[1]
		print "max", max(output1)
		print "stddev", stDeviation(output1)
		print "average", average(output1)

		output2 = []
		output2.append(testPenData()[1])
		print "accuracy2", testPenData()[1]
		print "max", max(output2)
		print "stddev", stDeviation(output2)
		print "average", average(output2)
Example #3
0
def plot_learning_curve(title, data):
    plt.figure()
    plt.title(title)
    plt.xlabel("Perceptrons")
    plt.ylabel("Accuracy")

    perps = []
    mean = []
    low = []
    high = []

    for (p, results) in data:
        print(results)
        perps.append(p)

        avg = average(results)
        stdev = stDeviation(results)
        mean.append(avg)
        low.append(avg - 2 * stdev)
        high.append(avg + 2 * stdev)

    plt.grid()
    plt.fill_between(perps, low, high, alpha=0.1, color="g")
    plt.plot(perps, mean, 'o-', color="g", label="Test score")
    plt.savefig(str(title) + ".png")
Example #4
0
def trainXorDataWithRestartAndVaryingHiddenLayer(n,
                                                 numPerceptronList,
                                                 maxItrNum=200):
    for numPerceptrons in numPerceptronList:
        accuracyList = []
        with open(OUTPUT_FILENAME, 'a+') as fh:
            fh.write("-------------------- Training with " +
                     str(numPerceptrons) +
                     " Perceptron(s) --------------------\n")
            fh.write("Start training pen data for " + str(n) +
                     " round(s) ...\n")
        for run in range(n):
            _, accuracy = buildNeuralNet(getXorData(),
                                         maxItr=maxItrNum,
                                         hiddenLayerList=[numPerceptrons])
            accuracyList.append(accuracy)
            with open(OUTPUT_FILENAME, 'a+') as fh:
                fh.write("Round " + str(run + 1) + ": " + str(accuracy) + "\n")
        with open(OUTPUT_FILENAME, 'a+') as fh:
            fh.write("All rounds finished.\n")
            fh.write("---------- Accuracy Statistics ----------\n")
            fh.write("Max               : " + str(max(accuracyList)) + "\n")
            fh.write("Average           : " + str(average(accuracyList)) +
                     "\n")
            fh.write("Standard Deviation: " + str(stDeviation(accuracyList)) +
                     "\n\n")
Example #5
0
def main():
	count = 0
	while count <= 40:
		output1 = []
		output2 = []
		for num in range(5):
			output1.append(testCarData([count])[1])
			output2.append(testPenData([count])[1])

		print "max1", max(output1)
		print "stddev1", stDeviation(output1)
		print "average1", average(output1)

		print "max2", max(output2)
		print "stddev2", stDeviation(output2)
		print "average2", average(output2)

		count += 5
Example #6
0
def test5xor(hiddenLayers=[0]):
    result = []
    print("test xor set for 5 times\n")
    print "num of hidden layer", hiddenLayers
    for i in range(5):
        nnet, acu = testXorData(hiddenLayers)
        result.append(acu)
    print("---------Result------- ")
    print(result)
    print("------ Avg ----------")
    avg = average(result)
    print(avg)
    print("--------- Std ----------")
    print(stDeviation(result))
    return avg
Example #7
0
def trainPenDataWithRestart(n, hiddenLayerPerceptrons=None):
    accuracyList = []
    with open(OUTPUT_FILENAME, 'a+') as fh:
        fh.write("-------------------- Training with " +
                 str(hiddenLayerPerceptrons) +
                 " Perceptron(s) --------------------\n")
        fh.write("Start training pen data for " + str(n) + " round(s) ...\n")
    for run in range(n):
        if hiddenLayerPerceptrons is not None:
            _, accuracy = testPenData(hiddenLayers=[hiddenLayerPerceptrons])
        else:
            _, accuracy = testPenData()
        accuracyList.append(accuracy)
        with open(OUTPUT_FILENAME, 'a+') as fh:
            fh.write("Round " + str(run + 1) + ": " + str(accuracy) + "\n")
    with open(OUTPUT_FILENAME, 'a+') as fh:
        fh.write("All rounds finished.\n")
        fh.write("---------- Accuracy Statistics ----------\n")
        fh.write("Max               : " + str(max(accuracyList)) + "\n")
        fh.write("Average           : " + str(average(accuracyList)) + "\n")
        fh.write("Standard Deviation: " + str(stDeviation(accuracyList)) +
                 "\n\n")
Example #8
0
from Testing import testPenData, testCarData, average, stDeviation
import csv
with open('Pen0.csv', 'wb') as csvfile:
    spamwriter = csv.writer(csvfile, delimiter=',',
                                    quotechar='|', quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow(['Data Type', 'Perceptrons', 'Average Accuracy', 'Standard Deviation', 'Maximum Accuracy'])
    penAccuracyList = []
    carAccuracyList = []
    for k in range(5):
        penAccuracyList.append(testPenData(hiddenLayers=[])[1])
        #carAccuracyList.append(testCarData(hiddenLayers=[])[1])
    avgPen = average(penAccuracyList)
    stDevPen = stDeviation(penAccuracyList)
    maxPen = max(penAccuracyList)
    spamwriter.writerow(['PenData', '0', str(avgPen), str(stDevPen), str(maxPen)])
"""
    avgCar = average(carAccuracyList)
    stDevCar = stDeviation(carAccuracyList)
    maxCar = max(carAccuracyList)
    print "writing"
"""

    #spamwriter.writerow(['Car Data', '0', str(avgCar), str(stDevCar), str(maxCar)])
Example #9
0
    spamwriter = csv.writer(csvfile,
                            delimiter=',',
                            quotechar='|',
                            quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow([
        'Data Type', 'Perceptrons', 'Average Accuracy', 'Standard Deviation',
        'Maximum Accuracy'
    ])

    for i in range(0, 9):
        penAccuracyList = []
        carAccuracyList = []
        for k in range(5):
            penAccuracyList.append(testPenData(hiddenLayers=[i * 5])[1])
            carAccuracyList.append(testCarData(hiddenLayers=[i * 5])[1])
        avgPen = average(penAccuracyList)
        stDevPen = stDeviation(penAccuracyList)
        maxPen = max(penAccuracyList)

        avgCar = average(carAccuracyList)
        stDevCar = stDeviation(carAccuracyList)
        maxCar = max(carAccuracyList)
        print "writing"
        spamwriter.writerow(
            ['PenData',
             str(i * 5),
             str(avgPen),
             str(stDevPen),
             str(maxPen)])
        spamwriter.writerow(
            ['Car Data',
Example #10
0
from Testing import testPenData, testCarData, average, stDeviation

penList = []
carList = []

for i in range(5):
    penResults = testPenData()
    penList.append(penResults[1])
    carResults = testCarData()
    carList.append(carResults[1])

print 'Pen', penList
print 'Car', carList
penAverage = average(penList)
penStDev = stDeviation(penList)
penMax = max(penList)

carAverage = average(carList)
carStDev = stDeviation(carList)
carMax = max(carList)

print 'Pen:', penAverage, penStDev, penMax
print 'Car:', carAverage, carStDev, carMax

Example #11
0
from NeuralNetUtil import buildExamplesFromCarData, buildExamplesFromPenData
from NeuralNet import buildNeuralNet
from Testing import average, stDeviation, testPenData, testCarData
import cPickle
from math import pow, sqrt

print("Car Data")
carData = buildExamplesFromCarData()
for numPerceptron in range(0, 41, 5):
    accuracyCarData = []
    for i in range(5):
        print("Iteration:", i, "Num of Perceptron:", numPerceptron)
        nnet, accuracyCar = buildNeuralNet(carData,
                                           maxItr=200,
                                           hiddenLayerList=[numPerceptron])
        accuracyCarData.append(accuracyCar)
    print numPerceptron, ',', max(accuracyCarData), ',', average(
        accuracyCarData), ',', stDeviation(accuracyCarData)

print("Pen Data")
penData = buildExamplesFromPenData()
for numPerceptron in range(0, 41, 5):
    accuracyPenData = []
    for i in range(5):
        print("Iteration:", i, "Num of Perceptron:", numPerceptron)
        nnet, accuracyPen = buildNeuralNet(penData,
                                           maxItr=200,
                                           hiddenLayerList=[numPerceptron])
        accuracyPenData.append(accuracyPen)
    print numPerceptron, ',', max(accuracyPenData), ',', average(
        accuracyPenData), ',', stDeviation(accuracyPenData)
Example #12
0
from Testing import testPenData, testCarData, average, stDeviation

finalPenList = []
finalCarList = []

for i in range(0, 45, 5):
    tempPenList = []
    tempCarList = []
    for j in range(5):
        penResults = testPenData([i])
        carResults = testCarData([i])
        tempPenList.append(penResults[1])
        tempCarList.append(carResults[1])
    finalPenList.append(
        tuple([
            i,
            average(tempPenList),
            stDeviation(tempPenList),
            max(tempPenList)
        ]))
    finalCarList.append(
        tuple([
            i,
            average(tempCarList),
            stDeviation(tempCarList),
            max(tempCarList)
        ]))

print 'Pen List:', finalPenList
print 'Car List:', finalCarList
Example #13
0
print "accuracy: ", accuracy

for numNodes in range(0, 76):  # changing # of hidden layer's nodes
    # statistics on nnet accuracy for all runs of testXorData
    maximum = 0
    avg = 0
    stdev = 0
    accuracyList = []

    for testNum in range(5):  # test multiple runs of nnet for each hidden layer size
        nnet, accuracy = testXorData([numNodes])
        accuracyList.append(accuracy)
        if maximum < accuracy:
            maximum = accuracy

    avg = average(accuracyList)
    stdev = stDeviation(accuracyList)

    maxes.append(maximum)

    avg = round(avg, 3)
    avgs.append(avg)

    stdev = round(stdev, 3)
    stdevs.append(stdev)

# print 'accuracy stats for hidden layer size of ', numNodes
print "maxes: ", maxes
print "\n avgs: ", avgs
print "\n stdevs: ", stdevs
from Testing import testPenData, testCarData, average, stDeviation
import csv
with open('Pen0.csv', 'wb') as csvfile:
    spamwriter = csv.writer(csvfile, delimiter=',',
                                    quotechar='|', quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow(['Data Type', 'Perceptrons', 'Average Accuracy', 'Standard Deviation', 'Maximum Accuracy'])

    for i in range(0, 9):
        penAccuracyList = []
        carAccuracyList = []
        for k in range(5):
            penAccuracyList.append(testPenData(hiddenLayers=[i * 5])[1])
            carAccuracyList.append(testCarData(hiddenLayers=[i * 5])[1])
        avgPen = average(penAccuracyList)
        stDevPen = stDeviation(penAccuracyList)
        maxPen = max(penAccuracyList)

        avgCar = average(carAccuracyList)
        stDevCar = stDeviation(carAccuracyList)
        maxCar = max(carAccuracyList)
        print "writing"
        spamwriter.writerow(['PenData', str(i * 5), str(avgPen), str(stDevPen), str(maxPen)])
        spamwriter.writerow(['Car Data', str(i * 5), str(avgCar), str(stDevCar), str(maxCar)])

Example #15
0
stdevPenList = []
stdevCarList = []

# do hidden layer size = 0
maximumPen = 0
accuracyListPen = [] # used to calculate max, avg, and stdev of accuracy for all runs for 1 hidden layer size
for i in xrange(5): # 5 runs for each hidden layer size
	nnet, accuracy = testPenData( [] )
	accuracyListPen.append(accuracy)
	if maximumPen < accuracy:
		maximumPen = accuracy

maxRound = round( maximumPen, 3)
maximumPenList.append( maxRound )

avg = round( average( accuracyListPen ) , 3)
avgPenList.append( avg )

stdev = round( stDeviation( accuracyListPen ) , 3)
stdevPenList.append( stdev )


# do hidden layer size = 0, for Car
maximumCar = 0
accuracyListCar = []
for i in xrange(5):
	nnet, accuracy = testCarData( [] )
	# accuracyList.append(accuracy)
	accuracyListCar.append(accuracy)
	if maximumCar < accuracy:
		maximumCar = accuracy
Example #16
0
from Testing import testPenData, testCarData, average, stDeviation
import pickle
from matplotlib import pyplot as plt
import csv

car = pickle.load(open("q6car.pkl", "rb"))
pen = pickle.load(open("q6pen.pkl", "rb"))

with open("q6analysis.csv", "w") as csvfile:
    fieldnames = ["Perp", "Pmax", "Pavg", "Pstd", "Cmax", "Cavg", "Cstd"]
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()

    for (c, p) in zip(car, pen):
        writer.writerow({
            'Perp': p[0],
            'Pmax': max(p[1]),
            'Pavg': average(p[1]),
            'Pstd': stDeviation(p[1]),
            'Cmax': max(c[1]),
            'Cavg': average(c[1]),
            'Cstd': stDeviation(c[1])
        })
Example #17
0
from NeuralNetUtil import buildExamplesFromCarData, buildExamplesFromPenData
from NeuralNet import buildNeuralNet
from Testing import testPenData, testCarData, average, stDeviation

accuracyPenData = []
accuracyCarData = []

for i in range(5):
    nnet, accuracy = testPenData()
    accuracyPenData.append(accuracy)
    nnet, accuracyCar = testCarData()
    accuracyCarData.append(accuracyCar)

print("Pen Data Average Accuracy: ", average(accuracyPenData))
print("Pen Data Max Accuracy: ", max(accuracyPenData))
print("Pen Data St Dev Accuracy: ", stDeviation(accuracyPenData))
print(accuracyPenData)

print("Car Data Average Accuracy: ", average(accuracyCarData))
print("Car Data Max Accuracy: ", max(accuracyCarData))
print("Car Data St Dev Accuracy: ", stDeviation(accuracyCarData))
print(accuracyCarData)
Example #18
0
def varyPtronsTestPenData():
    ptrons = 0
    testAccuracy = []
    while ptrons <= 40:
        nnet, ta = testPenData([ptrons])
        testAccuracy.append(ta)
        ptrons += 5
    return testAccuracy


if __name__ == '__main__':
    start = time()
    testAccuracy = varyPtronsTestPenData()
    # Calculate statistics
    maxTA = max(testAccuracy)
    meanTA = average(testAccuracy)
    stdevTA = stDeviation(testAccuracy)
    # Output to terminal
    print 'max:', maxTA
    print 'mean:', meanTA
    print 'stdev:', stdevTA
    # Output to file
    fout = open('NN Vary Hidden Perceptions on Test Pen Data.txt', 'w')
    fout.write('test accuracies: ' + str(testAccuracy) + '\n')
    fout.write('max: ' + str(maxTA) + '\n')
    fout.write('mean: ' + str(meanTA) + '\n')
    fout.write('stdev: ' + str(stdevTA) + '\n')
    end = time()
    executionTime = end - start
    fout.write('execution time: ' + str(executionTime) + ' seconds')
    print('execution time:', executionTime, 'seconds')
Example #19
0
# accuracy
maximum = 0
maximumCar = 0
avg = 0
stdev = 0
accuracyList = []  # both pen and data
accuracyListCar = []

for i in xrange(5):
    nnet, accuracy = testPenData()
    accuracyList.append(accuracy)
    if maximum < accuracy:
        maximum = accuracy

avg = average(accuracyList)
stdev = stDeviation(accuracyList)

for i in xrange(5):
    nnet, accuracy = testCarData()
    accuracyList.append(accuracy)
    accuracyListCar.append(accuracy)
    if maximumCar < accuracy:
        maximumCar = accuracy

avgCar = average(accuracyListCar)
stdevCar = stDeviation(accuracyListCar)
avgBoth = average(accuracyList)
stdevBoth = stDeviation(accuracyList)

print "maximum: ", maximum
Example #20
0
import Testing
from Testing import testCarData
from Testing import testPenData
from Testing import average
from Testing import stDeviation
from NeuralNetUtil import buildExamplesFromCarData, buildExamplesFromPenData
from NeuralNet import buildNeuralNet
import cPickle
from math import pow, sqrt

if __name__ == "__main__":
    pAccuracy = []
    cAccuracy = []

    for i in range(5):
        nnet, p = testPenData()
        nnet, c = testCarData()
        pAccuracy.append(p)
        cAccuracy.append(c)

    print "PenData:"
    print "Max = " + str(max(pAccuracy))
    print "Average = " + str(average(pAccuracy))
    print "SD = " + str(stDeviation(pAccuracy))
    print "CarData:"
    print "Max = " + str(max(cAccuracy))
    print "Average = " + str(average(cAccuracy))
    print "SD = " + str(stDeviation(cAccuracy))
Example #21
0
import csv
with open('Pen0.csv', 'wb') as csvfile:
    spamwriter = csv.writer(csvfile,
                            delimiter=',',
                            quotechar='|',
                            quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow([
        'Data Type', 'Perceptrons', 'Average Accuracy', 'Standard Deviation',
        'Maximum Accuracy'
    ])
    penAccuracyList = []
    carAccuracyList = []
    for k in range(5):
        penAccuracyList.append(testPenData(hiddenLayers=[])[1])
        #carAccuracyList.append(testCarData(hiddenLayers=[])[1])
    avgPen = average(penAccuracyList)
    stDevPen = stDeviation(penAccuracyList)
    maxPen = max(penAccuracyList)
    spamwriter.writerow(
        ['PenData', '0',
         str(avgPen), str(stDevPen),
         str(maxPen)])
"""
    avgCar = average(carAccuracyList)
    stDevCar = stDeviation(carAccuracyList)
    maxCar = max(carAccuracyList)
    print "writing"
"""

#spamwriter.writerow(['Car Data', '0', str(avgCar), str(stDevCar), str(maxCar)])