def demo(index): items = bayes.loadDataFile("/Users/aarti/ai_pa2/data/facedata/facedatatest",150,60,70) labels = bayes.loadLabelsFile("/Users/aarti/ai_pa2/data/facedata/facedatatestlabels",150) my_tree = training(100) actual = testing_data[index][-1] prediction = list(classify(testing_data[index], my_tree).keys())[0] if actual == prediction: print "correct prediction" else: print "incorrect prediction" print "actual : ", actual, "| prediction : ", prediction print items[index]
def training_data_formatter_face(): items = bayes.loadDataFile("/Users/aarti/ai_pa2/data/facedata/facedatatrain",451,60,70) labels = bayes.loadLabelsFile("/Users/aarti/ai_pa2/data/facedata/facedatatrainlabels",451) output = [[0]*101 for _ in range(451)] for x in range(451): for i in range(70): for j in range(60): if items[x].getPixel(j, i) != 0: index = (10 * (i//7)) + (j//6) output[x][index] += 1 output[x][100] = labels[x] return output
def training_data_formatter_digit(): items = bayes.loadDataFile( "/Users/aarti/ai_pa2/data/digitdata/trainingimages", 5000, 28, 28) labels = bayes.loadLabelsFile( "/Users/aarti/ai_pa2/data/digitdata/traininglabels", 5000) output = [[0] * 50 for _ in range(5000)] for x in range(5000): for i in range(28): for j in range(28): if items[x].getPixel(j, i) != 0: index = (7 * (i // 4)) + (j // 4) output[x][index] += 1 output[x][49] = labels[x] return output