Пример #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)))
Пример #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)
Пример #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")
Пример #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")
Пример #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
Пример #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
Пример #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")
Пример #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)])
Пример #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',
Пример #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

Пример #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)
Пример #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
Пример #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)])

Пример #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
Пример #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])
        })
Пример #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)
Пример #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')
Пример #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
Пример #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))
Пример #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)])