Ejemplo n.º 1
0
    def testSetMaxDepth(self):
        maxDepth = 20
        decisionTree = DecisionTree()
        decisionTree.setMaxDepth(maxDepth)
        decisionTree.learnModel(self.X, self.y)

        #self.assertTrue(DecisionTree.depth(decisionTree.getClassifier().tree) <= maxDepth+1)

        maxDepth = 5
        decisionTree = DecisionTree()
        decisionTree.setMaxDepth(maxDepth)
        decisionTree.learnModel(self.X, self.y)
Ejemplo n.º 2
0
    def testSetWeight(self):
        #Try weight = 0 and weight = 1
        decisionTree = DecisionTree()
        decisionTree.setWeight(0.0)
        decisionTree.learnModel(self.X, self.y)

        predY = decisionTree.predict(self.X)
        self.assertTrue((predY == numpy.zeros(predY.shape[0])).all())

        decisionTree.setWeight(1.0)
        decisionTree.learnModel(self.X, self.y)
        predY = decisionTree.predict(self.X)
        self.assertTrue((predY == numpy.ones(predY.shape[0])).all())
Ejemplo n.º 3
0
    def testMinSplit(self):
        decisionTree = DecisionTree()
        decisionTree.setMinSplit(20)
        decisionTree.learnModel(self.X, self.y)

        size = decisionTree.getTree().node_count
        #orngTree.printTree(decisionTree.getClassifier())

        decisionTree.setMinSplit(1)
        decisionTree.learnModel(self.X, self.y)
        size2 = decisionTree.getTree().node_count
        #orngTree.printTree(decisionTree.getClassifier())

        self.assertTrue(size < size2)
Ejemplo n.º 4
0
    def testPredict(self):
        decisionTree = DecisionTree()
        decisionTree.learnModel(self.X, self.y)
        predY = decisionTree.predict(self.X)

        inds = numpy.random.permutation(self.X.shape[0])
        predY2 = decisionTree.predict(self.X[inds, :])

        self.assertTrue((predY[inds] == predY2).all())

        #Let's test on -1, +1 labels
        y2 = (self.y*2)-1
        decisionTree.learnModel(self.X, y2)
        predY2 = decisionTree.predict(self.X)

        self.assertTrue((predY2 == predY*2-1).all())
Ejemplo n.º 5
0
    def testLearnModel(self):
        decisionTree = DecisionTree()
        decisionTree.learnModel(self.X, self.y)

        tree = decisionTree.getClassifier()