minMean = mean if mean > maxMean: maxMean = mean if std > maxStd: maxStd = std l = 2*(minMean - maxStd) r = 2*(maxMean + maxStd) for m, s in toPlot: normDist(m,s,l,r) formt = FormatJson(sys.argv[1]) naive = NaiveBayes(formt.data()) print "Total Accuracy (cross validate) = " + str(naive.crossValidate(10)) labels = formt.channels() counts = [[0]*len(labels) for i in range(len(labels))] for label, data in formt.data(): expectedChn, _ = naive.predict(data) # Confusion matrix correct = labels.index(label) actual = labels.index(expectedChn) counts[correct][actual] += 1 print counts labels = [''] + labels
from digit import Digit from data_processer import DatasetParser from naive import NaiveBayes import time beg = time.time() parser_train = DatasetParser("trainingimages.txt","traininglabels.txt") parser_test = DatasetParser("testimages.txt","testlabels.txt") train_samples = parser_train.read() test_samples = parser_test.read() classifier = NaiveBayes(train_samples,test_samples) print "Training starts..." classifier.train() print "Testing starts..." predictions = classifier.test() digit_counts = 10*[0] digit_predicted_counts = 10*[0] true_positives = 10*[0] confusion_matrix = [[0 for x in range(10)] for x in range(10)] ;