def runOneTest(seed=None): sys.stdout.write('.') sys.stdout.flush() rnd = random.Random() rnd.seed(seed) slope = rnd.uniform(-3, 3) intercept = rnd.uniform(-1,1) trainingSet = Perceptron.generatePoints(slope, intercept, TRAINING_EXEMPLARS, str(seed)+"training") p = Perceptron() trainingSucceeded, iterations = p.train(trainingSet, 1, MAX_ITER, ERROR_THRESHOLD) misclassifications = 0 if (trainingSucceeded): testSet = Perceptron.generatePoints(slope, intercept, TEST_VECTORS, str(seed)+"test") for vector, expected in testSet: result = p.evaluate(vector) if (result != expected): misclassifications += 1 return slope, intercept, trainingSucceeded, iterations, misclassifications