def testTennis(trainDataFile, testDataFile, attrDataFile): tennisTree = DecisionTree(trainDataFile, testDataFile, attrDataFile) tennisTree.loadData() tennisTree.preprocessData() trainData = tennisTree.getTrainData() testData = tennisTree.getTestData() validationData = tennisTree.getValidationData() tennisTree.generateTree(trainData) tree = tennisTree.getTree() attributes = tennisTree.getAttributes() attrValues = tennisTree.getAttrValues() tennisTreePrinter = TreePrinter(tree, attrValues) print("----------Tree----------") tennisTreePrinter.printTree() tennisRulePrinter = RuleSetPrinter(tree, attrValues) print("--------Rule Set--------") tennisRulePrinter.printRuleSet() rules = tennisRulePrinter.getRules() trainPred = Predictor(trainData, validationData, attributes, attrValues, tree, rules) trainAcc = trainPred.calculateAccuracy(trainData, tree) print("Training Accuracy (%): " + str(trainAcc)) testPred = Predictor(testData, validationData, attributes, attrValues, tree, rules) testAcc = testPred.calculateAccuracy(testData, tree) print("Test Accuracy (%): " + str(testAcc))