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)))
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)
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")
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")
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
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
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")
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)])
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),
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
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)
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
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 f.write("avgs: \n")
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)])
# 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 maxRound = round( maximumCar, 3) maximumCarList.append( maxRound )
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]) })
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)
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') fout.close()
# 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 print "avg: ", avg
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))
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)])