tree_algorithms.append(kdtree_euclid) ball = BallTree() ball.setDistanceFunction( EuclideanDistance()) # only Euclidean Distance function tree_algorithms.append(ball) cover = CoverTree() cover.setDistanceFunction( EuclideanDistance()) # only Euclidean Distance function tree_algorithms.append(cover) data.setClassIndex(data.numAttributes() - 1) for num in range(1, 30, 2): file.write(str(num)) for algoknn in tree_algorithms: log.write("---------------------------------\nK: " + str(num) + ", Search Algorithm: " + algoknn.__class__.__name__ + "\n") algo = IBk() algo.setNearestNeighbourSearchAlgorithm(algoknn) algo.setKNN(num) x = time.time() algo.buildClassifier(data) log.write("Time to build classifier: " + str(time.time() - x) + "\n") evaluation = Evaluation(data) output = PlainText() # plain text output for predictions output.setHeader(data) buffer = StringBuffer() # buffer to use output.setBuffer(buffer) attRange = Range() # no additional attributes output outputDistribution = Boolean(False) # we don't want distribution x = time.time() #evaluation.evaluateModel(algo, data, [output, attRange, outputDistribution]) evaluation.crossValidateModel(algo, data, 10, rand,