Beispiel #1
0
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))